Вниз  Java-программирование (1-ые посты)
- 2.03.2014 / 18:19
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Kalter, когда ты вызываешь display.setCurrent(объект_другого_канваса), то канвас сменится на указанный тобой.
__________________
 let live
- 2.03.2014 / 18:22
Kalter
  Пользователь

Kalter 
Сейчас: Offline
Немного не понял...
Вот часть главного класса
  1. private Game game=new Game(); //создаём первый канвас
  2. private Menu menu=new Menu(); //создаём второй канвас
  3.  
  4. public void startApp(){
  5.  
  6.     display.setCurrent(menu); //работает один канвас. Как его остановить?
  7. }
Как ты предложил.
  1. private Game game=new Game(); //создаём первый канвас
  2. private Menu menu=new Menu(); //создаём второй канвас
  3.  
  4. public void drawGame(){
  5.  
  6.     display.setCurrent(game);
  7. }
  8.  
  9. public void drawMenu(){
  10.  
  11.     display.setCurrent(menu);
  12. }
Так? Как теперь этим пользоваться? И опять же: как прекратит работу одного канваса (или как уничтожить класс? (до сих пор нигде не вычитал этого))?
__________________
 Homo homini penis est.
- 2.03.2014 / 18:23
Kalter
  Пользователь

Kalter 
Сейчас: Offline
aNNiMON (02.03.2014/18:19)Kalter, когда ты вызываешь display.setCurrent(объект_другого_канваса), то канвас сменится на указанный тобой.Вот как. Всё понял, наконец. Спасибо большое.
__________________
 Homo homini penis est.
- 2.03.2014 / 18:24
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Kalter, нет понятия "уничтожить канвас", есть понятие "текущий активный канвас", и следовательно канвасы могут быть активными (один канвас, который показывается в данный момент) и неактивными. Чтобы "уничтожить" канвас надо просто сделать активным другой.
__________________
 let live
- 2.03.2014 / 19:02
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Вообще нужен только один канвас
- 2.03.2014 / 19:23
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
...для полного быдлокода
__________________
 let live
- 2.03.2014 / 19:24
DominaN
  Пользователь

DominaN 
Сейчас: Offline
aNNiMON, ну ничего, я вот допилю демку нового After и ты поймешь, о чем я :)
- 2.03.2014 / 19:29
DominaN
  Пользователь

DominaN 
Сейчас: Offline
aNNiMON, Да даже чисто логически, для чего нам нужен канвас? Чтобы развернуть на весь экран Displayable, пригодный для вывода нужной нам графики, а так же для непосредственно отрисовки и обработки клавиш. Первая цель - самая важная, с ней я согласен. Но зачем создавать новые экземпляры целого класса ради двух методов? Для отрисовки графики нам необходим лишь один объект Graphics, обработку клавиш можно сделать глобально, как у меня
- 2.03.2014 / 19:31
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
DominaN, нет, если при помощи ООП разбить один канвас на экраны, то я согласен, это хорошо. Но если всё тупо в один класс скидывать и потом будет огромный по своей длине метод paint, то нафиг оно надо.
В общем, идея такова, чтобы всё было просто. И с несколькими канвасами это действительно так.
__________________
 let live

Изменено aNNiMON (2.03 / 19:32) (всего 2 раза)
- 2.03.2014 / 19:34
DominaN
  Пользователь

DominaN 
Сейчас: Offline
aNNiMON, не не не, я про ООП. То есть сделать, например, ScreenObject, там метод draw(Graphics g) и processKeys(). И уже из канвы менять currentScreenObject
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)