DDDEN!SSS, а почему ты не захотел воспользоваться нисходящим преобразованием,там вроде все просто: просто заключаешь в try{}catch(){} и пробуешь сначала к одному, потом к другому типу привести. Хотя с интерфейсами наверно более правильно. Malcolm, а в классе, наследованном от GameCanvas для обработки нажатий клавиш надо запустить новый трэд и в нем с помощью метода int getKeyStates() производить нужные действия? Не надо keyPressed(int keyCode) переопределять?
Cryingangel, ты мне предлагаеш сделать так: сконвертировать в один класс, если произошло исключение, то конвертировать в другой. Помоему это вообще извращение. Даже интерфейс я навернае заменю наследованием от G3D, всё равно его объекты у меня не создаются, вот и будят в нём абстрактные методы.
А хотя не могу в классе G3D сделать абстрактные методы. Пишет: missing method body, or declare abstract. Но с интерфейсом пожалуй правельнее. Что-то я не понял при наследовании класса должны наследоваться приват поля или нет?
DDDEN!SSS, да вообще не должно ничего мигать, двойная буферизация предполагает, что на экран выводится уже готовая картинка, нарисованная в буфере. А мигание уже не зависит от самой программы, поэтому тут сложно сказать, что поможет его убрать на конкретном устройстве. Попробуй и так сделать, может быть, и поможет, кто знает. seclub.org/forum/goto/7811617/ - если ты в классе не написал модификатор abstract, то нельзя и писать абстрактные методы. Cryingangel, это уже как тебе удобнее. Обычно делают через поток, потому что весь смысл использования GameCanvas в том и состоит, чтобы можно было все контролировать в реальном времени.
Malcolm, game canvas для того и сделан, чтобы не мигало и быстрее рисовалось. Я спрашивал про канвас. А у тебя в ф.с. бродилке, там где у меня анимация мегала используется гейм канвас или канвас?
18 мая 2009 в 12:58