我正在尝试制作PONG游戏,并且为了对抗计算机,我尝试使计算机应该遵循球的y轴。球和计算机都具有不同的移动速度(vy),因此它们不应该形成平行线。到目前为止,球正在正确移动,但计算机根本不会移动。以下代码位于requestAnimationFrame()。
中PONG - > https://upload.wikimedia.org/wikipedia/commons/f/f8/Pong.png
delta_t = 0.02;
t = t + delta_t;
// Computer should go up
if (computer.position.y < ball.position.y ) {
y_computer = computer.position.y;
vy_computer = vy_computer;
t = 0;
}
// Computer should go down
if (computer.position.y > ball.position.y ) {
y_computer = computer.position.y;
vy_computer = -vy_computer;
t = 0;
}
computer.position.set(-370, y_computer + vy_computer * t , 40);
这是我使用的网站 - &gt; http://gamingjs.com/ice/
答案 0 :(得分:0)
我明白了。你必须检查球的方向和计算机&#34;是相同的,如果没有,那么检查&#34;计算机&#34;的位置。在球的位置加上&#34; epsilon&#34;并且球的位置减去&#34; epsilon&#34;,如果它在范围内,那么否定计算机的方向&#34;
if (Math.sign(direction_follower.z) != Math.sign(direction.z)){
if (follower.position.z <= origin.position.z + epsilon &&
follower.position.z >= origin.position.z - epsilon)
direction_follower.negate();
}
jsfiddle示例。