2014-02-21 7 views
0

В чем разница между конструктором метода BasicGameState и init? Похоже, что оба они вызываются одновременно, когда BasicGameState зарегистрирован в StateBasedGame, и что их отличает?Slick2D: конструктор против init

Следующий вопрос: как запустить метод только при активации состояния? Первоначально я думал, что метод init был вызван только тогда, когда новое состояние становится активным, но это неверно. Обратите внимание, что я хотел бы назвать этот метод только один раз в начале нового состояния, поэтому его использование в методе update кажется неправильным местом.

ответ

1

Что касается первого вопроса, я обычно инициализирую все мои объекты java в конструкторе (другие игровые объекты, коллекции, сокеты и т. Д.), А метод init() загружает изображения, звуки и другие ресурсы.

И второй вопрос, есть метод под названием enter(), который вызывается при входе в GameState. Также существует метод leave(), который вызывается при выходе из состояния.

Больше на GameState находится здесь http://slick.ninjacave.com/javadoc/org/newdawn/slick/state/GameState.html

+0

Совершенного. Я продолжаю забывать проверить родительские классы для методов, которые, как я ожидаю, должны быть реализованы. – user2066880

Смежные вопросы