【问题标题】:java - (slick2D) Move Sprite Set Distance at Set Speed on Keypressjava - (slick2D)在按键上以设定速度移动精灵设定距离
【发布时间】:2012-12-07 13:48:20
【问题描述】:

所以我一直在尝试编写一个简单的游戏,其中角色正在使用语句移动

character1.x+=0.1f*delta

其中 delta 是帧之间的时间(以毫秒为单位)。当我想每帧移动它时,这很有效,但我希望能够以这种速度将它移动一段设定的距离(50 像素,或我的游戏中的单个图块)。使用 for() 循环使它以最大速度移动精灵,所以我不能这样做。它必须在单个按键上起作用,因此他们不必按住键。

当然,我几乎没有在 Java 中做过任何事情,所以我可能缺少一个非常愚蠢的简单解决方案。现在,我可以将其更改为瞬时运动,但它看起来非常生涩。有人可以帮忙吗?

【问题讨论】:

    标签: java distance


    【解决方案1】:

    在这种情况下,您可能需要为您的组件添加一个 keyListener。

     yourComponent.addKeyListener(new KeyAdapter () { // 可能是你的Frame
                 @Override // 覆盖 keyPressed 事件
                 公共无效keyPressed(KeyEvent e){
    
                      如果(e == YOUR_KEY_CODE){
                           for( int var = 0; var 
    
    

    其中 YOUR_KEY_CODE 是用户需要按下才能执行 for() 循环的键。可在javadoc中找到关键代码

    【讨论】:

      猜你喜欢
      • 2011-01-30
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多