Slick2D运动问题



所以,我将游戏转换为Slick2D。运动中断了,我不知所措。之前,我们使用KeyPressed和keyReleased方法,但现在使用Slick2D移动无法正常工作。

是的,没有什么是正确的转换为Slick2D。首先是启动器,我之前有一个帮助主题,现在是这个。不过,另一个话题是WebStart讨厌代码的问题。

你只能用a向右移动,而且你不能停止移动。我是否使用了正确的方法?我该怎么修理它?任何帮助都非常感谢!

这里是一个PasteBin链接到代码,如果它有帮助!http://pastebin.com/GRH86Yuw

我是Slick的粉丝,我很乐意帮忙。

最根本的区别在于,当涉及到输入时,Slick是一个轮询模型,而不是事件驱动模型。基本上,在您的逻辑更新方法中,您循环遍历绑定到事件的键,并检查当前是否有任何键被按下,然后触发这些事件。如果你愿意,我可以列举一些原因,因为轮询更适合游戏,特别是拥有大量按键的游戏。这只是一种不同的做事方式,并没有那么复杂。最大的好处是您可以集中处理单个方法的输入,而不是将其分散到多个KeyListener实例对象中。

如果你想看看行人——一个在Slick中实现的简单行人模拟——你可以看到一个如何在Slick中处理输入的例子。

具体来说,我在processInput方法中处理这个文件(第192-295行)中的输入。基本上,你传入一个引用到GameContainer对象(包含你的游戏的Slick对象),然后你就可以得到一个实例到Input实例,它将允许你检查按下了哪些键,点击了哪些鼠标按钮等等。

最新更新