[英]move() method in paddle game
目前在我的桨游戏中为球类实现了move()方法。 桨游戏是一种在底部有桨的游戏,可以左右移动。 球从三堵墙弹起。 我意识到我的move方法是错误的,想知道是否有人可以向我指出实现它的正确方法。 我需要考虑何时球从侧面和顶部反弹
编辑:我玩我的代码,但它仍然没有反弹
我的代码:
if (this.y+speed<=0+radius) //Checking for top
{
System.out.println("in y"); //Checking if it's in this condition
flipYDir();
}
else if (this.x+speed<=0+radius) //Checking for left wall
{
System.out.println("in x<"); //Checking if it's in this condition
flipXDir();
}
else if (this.x+speed<courtWidth-radius) //Checking for right wall
{
System.out.println("in x>"); //Checking if it's in this condition
flipXDir();
}
else //Update move
{
x+=speed*xDir;
y+=speed*yDir;
}
这里有几个问题:
由于您要在x和y上添加相同的值,速度,因此您的球始终会以45度角精确移动。 不过,这可能就是您想要的...
您正在检查x == 0和x == courtWidth,并在那时反转方向,但是如果x = 17,courtwidth = 20,xDir = 1和speed = 5怎么办? 当您增加x时,它将为22,并且永远不会完全等于法庭宽度,并且永远保持不变。 您必须以某种方式处理无法完全落在球场边缘的情况。
您可能不想在所有三个壁上都同时翻转X和Y方向-如果您这样做,则无论球在何处击中,球都将直接向后反弹
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.