gpt4 book ai didi

java - (slick2D) 在按键时以设定速度移动 Sprite 设定距离

转载 作者:行者123 更新时间:2023-12-01 04:58:14 27 4
gpt4 key购买 nike

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

character1.x+=0.1f*delta

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

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

最佳答案

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



    yourComponent.addKeyListener(new KeyAdapter () { // Possibly your Frame
@Override // Overrides the keyPressed event
public void keyPressed(KeyEvent e) {

if ( e == YOUR_KEY_CODE ) {
for( int var = 0; var < yourDistance; var ++ ){
yourSpriteComponent.x += 1;
try{
Thread.sleep(yourTimeInMilliSec);
} catch( Exception e ){
// Your catch block here
}
}
}

}
});

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

关于java - (slick2D) 在按键时以设定速度移动 Sprite 设定距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13755391/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com