我已经看到了用enterState()函数进行转换的事情,但是您还可以在其中指定输出和转换。这是如何运作的?

最佳答案

enterState()的slick2d游戏状态方法使您可以设置两个游戏状态之间的过渡。假设您有一个初始屏幕和一个主菜单,您可以在其中放置新游戏/选项/退出选项。如果您希望在初始屏幕和主菜单之间具有淡入淡出的效果,因为大多数游戏都倾向于从淡入淡出到黑色过渡,则可以在初始屏幕游戏状态经过一定时间间隔后,在更新方法中调用此方法:

statebasedgame.enterState(*state id you wish to enter*, new FadeOutTransition(), new FadeInTransition());


这告诉滑动引擎为您做的是淡出(退出效果),这将是新的FadeOutTranstion()类类型,切换到新的游戏状态类,淡入(进入效果)将是新的FadeInTranstion()类类型。

slick中内置了许多过渡效果,同样,如果需要,您甚至可以通过扩展Transition类来构建自己的过渡效果。

个性化效果的典范:http://slick.ninjacave.com/forum/viewtopic.php?t=1008

可以使用的过渡效果的更多示例:https://github.com/ariejan/slick2d/blob/master/src/org/newdawn/slick/tests/TransitionTest.java

10-08 18:55