Java Slick2D:构造函数与初始化

Java Slick2D:构造函数与初始化,java,lwjgl,slick2d,Java,Lwjgl,Slick2d,BasicGameState的构造函数与init方法之间有什么区别?在StateBasedGame中注册BasicGameState时,它们似乎同时被调用,那么是什么使它们不同呢 接下来的问题是,如何仅在状态变为活动状态时运行方法?起初我认为只有在新状态变为活动状态时才调用init方法,但事实并非如此。请注意,我只想在新状态开始时调用此方法一次,因此将其放在update方法中似乎是错误的。至于第一个问题,我通常在构造函数中初始化所有java对象(其他游戏对象、集合、套接字等),init()方法加

BasicGameState
的构造函数与
init
方法之间有什么区别?在
StateBasedGame
中注册
BasicGameState
时,它们似乎同时被调用,那么是什么使它们不同呢


接下来的问题是,如何仅在状态变为活动状态时运行方法?起初我认为只有在新状态变为活动状态时才调用
init
方法,但事实并非如此。请注意,我只想在新状态开始时调用此方法一次,因此将其放在
update
方法中似乎是错误的。至于第一个问题,我通常在构造函数中初始化所有java对象(其他游戏对象、集合、套接字等),init()方法加载图像,声音和其他资源

第二个问题,有一个叫做enter()的方法,它在进入游戏状态时被调用。还有一个leave()方法,它在离开状态时被调用


有关游戏状态的更多信息,请参见此处

Perfect。我总是忘记检查父类中我期望应该实现的方法。