我有一个简单的 JavaFX 游戏,我用键码移动了角色。我现在想对此进行改进并添加一些“动力”。但是使用 my run 方法时,my 角色不会移动。请帮忙。这是我的代码,之前的移动字符方法已被注释掉。
注意:我设置了全局整数 h 和 v。为了
new scene.addEventHandler(KeyEvent. KEY_PRESSED, ( key) -> {
我导入了以下内容:
import java.util.Timer;
import java.util.TimerTask;
我认为这是正确的。
scene.addEventHandler(KeyEvent. KEY_PRESSED, ( key) -> {
new Timer().scheduleAtFixedRate(new TimerTask() {
public void run() {
// Refreshes speed
if(h > -50 && h < 50)
iv2.setX( iv2.getX() + h);
if(v > -50 && v < 50)
iv2.setY( iv2.getY() + v);
}
}, 30, 30);
if( key.getCode()==KeyCode. ENTER) {
System. out.println( "You pressed enter");
}
if( key.getCode()==KeyCode. LEFT) {
if( iv2.getX() - 25 > 0){
//iv2.setX( iv2.getX() - 50);
--h;
}
}
if( key.getCode()==KeyCode. RIGHT) {
if( iv2.getX() + 125 < scene.getWidth()){
//iv2.setX( iv2.getX() + 50);
++h;
}
}
if( key.getCode()==KeyCode. DOWN) {
if( iv2.getY() + 150 < scene.getHeight()){
//iv2.setY( iv2.getY() + 50);
++v;
}
}
if( key.getCode()==KeyCode. UP) {
if( iv2.getY() - 25 > 0)
//iv2.setY( iv2.getY() - 50);
--v;
}
});