三个Js:如何使对象跟随对象?

时间:2016-12-10 15:31:58

标签: javascript 3d three.js

我正在尝试制作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/

1 个答案:

答案 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示例。