目前正在制作Pong游戏。我希望player2球拍(计算机)根据球的位置从左到右跟随球。我有这个
position.x = position.x + playerVectorX;
if(ballPong.getPosition().x < position.x){
System.out.println("left");
playerVectorX *=-1;
}
if(ballPong.getPosition().x > position.x){
System.out.println("right");
playerVectorX *=-1;
}
我猜这是对的,但我错了。桨在短距离内非常快速地从左到右。
有什么想法吗?
答案 0 :(得分:0)
为什么不选择
position.x = ballPong.getPosition().x;
答案 1 :(得分:0)
你的问题是,每当它需要正确时,它就会改变方向。你应该做的是这样的事情:
position.x = position.x + playerVectorX;
if(ballPong.getPosition().x < position.x){
System.out.println("left");
playerVectorX = Math.abs(playerVectorX);
}
if(ballPong.getPosition().x > position.x){
System.out.println("right");
playerVectorX = Math.abs(playerVectorX) * -1;
}
希望有所帮助!