gpt4 book ai didi

java - switch 语句,一次只使用一种情况

转载 作者:行者123 更新时间:2023-11-29 04:11:14 25 4
gpt4 key购买 nike

我试图根据按下的键将正方形“p”向左或向右平移 5 个单位。问题是,当按下“右”或“左”时,它会朝那个方向平移 5 个单位,但是当我再次按下时,我无法移动,我必须再次按下“左”才能向右移动,所以我永远无法到达任何地方。有谁知道这是为什么吗?

    Task PlyThread=new Task() {
@Override
protected Object call() throws Exception {
myScene.setOnKeyPressed(event -> {
switch (event.getCode()){
//case UP: p.setTranslateY(((p.getY())-5)) ; break;
case LEFT: p.setTranslateX(((p.getX())-5)) ; break;
case RIGHT: p.setTranslateX(((p.getX())+5)) ;break;


}
});

return null;
}
};new Thread(PlyThread).start();

最佳答案

好的,我假设“矩形”是 javafx.scene.shape.Rectangle。在这种情况下,setTranslateX() 只修改变换矩阵,不改变矩形坐标 X。属性 X 的值保持不变,下次调用 setTranslateX(getX()+5) 与之前的工作完全相同。

您需要处理平移或坐标,即使用 setTranslateX()/getTranslateX()setX()/getX()

除了在屏幕上移动矩形之外,这两种选择都可能产生其他结果,但我没有使用 JavaFX 的经验,所以很遗憾我无法详细说明。

关于java - switch 语句,一次只使用一种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54934526/

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