2.03.2014 / 18:19 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Kalter, когда ты вызываешь display.setCurrent(объект_другого_канваса), то канвас сменится на указанный тобой.
__________________
let live |
2.03.2014 / 18:22 | |
Kalter Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| Немного не понял... Вот часть главного класса private Game game=new Game(); //создаём первый канвас
private Menu menu=new Menu(); //создаём второй канвас
public void startApp(){
display.setCurrent(menu); //работает один канвас. Как его остановить?
}
Как ты предложил. private Game game=new Game(); //создаём первый канвас
private Menu menu=new Menu(); //создаём второй канвас
public void drawGame(){
display.setCurrent(game);
}
public void drawMenu(){
display.setCurrent(menu);
}
Так? Как теперь этим пользоваться? И опять же: как прекратит работу одного канваса (или как уничтожить класс? (до сих пор нигде не вычитал этого))? __________________
Homo homini penis est. |
2.03.2014 / 18:23 | |
Kalter Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| aNNiMON (02.03.2014/18:19)Kalter, когда ты вызываешь display.setCurrent(объект_другого_канваса), то канвас сменится на указанный тобой.Вот как. Всё понял, наконец. Спасибо большое.
__________________
Homo homini penis est. |
2.03.2014 / 18:24 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Kalter, нет понятия "уничтожить канвас", есть понятие "текущий активный канвас", и следовательно канвасы могут быть активными (один канвас, который показывается в данный момент) и неактивными. Чтобы "уничтожить" канвас надо просто сделать активным другой.
__________________
let live |
2.03.2014 / 19:02 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Вообще нужен только один канвас
|
2.03.2014 / 19:23 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| ...для полного быдлокода
__________________
let live |
2.03.2014 / 19:24 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| aNNiMON, ну ничего, я вот допилю демку нового After и ты поймешь, о чем я |
2.03.2014 / 19:29 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| aNNiMON, Да даже чисто логически, для чего нам нужен канвас? Чтобы развернуть на весь экран Displayable, пригодный для вывода нужной нам графики, а так же для непосредственно отрисовки и обработки клавиш. Первая цель - самая важная, с ней я согласен. Но зачем создавать новые экземпляры целого класса ради двух методов? Для отрисовки графики нам необходим лишь один объект Graphics, обработку клавиш можно сделать глобально, как у меня
|
2.03.2014 / 19:31 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| DominaN, нет, если при помощи ООП разбить один канвас на экраны, то я согласен, это хорошо. Но если всё тупо в один класс скидывать и потом будет огромный по своей длине метод paint, то нафиг оно надо. В общем, идея такова, чтобы всё было просто. И с несколькими канвасами это действительно так.
__________________
let live Изменено aNNiMON (2.03 / 19:32) (всего 2 раза) |
2.03.2014 / 19:34 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| aNNiMON, не не не, я про ООП. То есть сделать, например, ScreenObject, там метод draw(Graphics g) и processKeys(). И уже из канвы менять currentScreenObject
|