我有一个简单的JavaFX游戏,我用键码移动了角色。我现在想要改进这一点并增加一些“动力”。但是使用我的run方法,我的角色不会移动。请帮忙。这是我的代码,其中包含移动角色的先前方法。
注意:我有全局注册h和v设置。对于
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;
}
});
我认为是正确的。
exec(str_replace('\classes', '', dirname(__FILE__)) . '\data\vedur ', $row);