1

我有一个简单的 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;
            }

      });
4

0 回答 0