作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我一直在尝试编写一个简单的游戏,其中角色使用语句移动
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/
我想成为 Spark 纱客户(link)。是否需要安装hadoop?还是只安装 yarn 可以吗? (by this link) 最佳答案 No Spark不需要Hadoop即可运行。 Apache
我是一名优秀的程序员,十分优秀!