2016-12-10 1 views
0

나는 PONG 게임을 만들려고 노력 중이며, 컴퓨터와 경기하기 위해 컴퓨터가 공의 y 축을 따라 가도록 노력했습니다. 볼과 컴퓨터는 서로 다른 이동 속도 (vy)를 가지므로 평행선을 만들어서는 안됩니다. 지금까지 공은 정확하게 움직이고 있지만 컴퓨터는 전혀 움직이지 않습니다. 아래 코드는 requestAnimationFrame()에 있습니다.THREE Js : 객체를 객체를 따르는 방법?

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); 

이것은 내가 사용하고 사이트입니다 ->http://gamingjs.com/ice/

+0

브라우저 콘솔에 오류 메시지가 있습니까? – prisoner849

+0

아니, 콘솔 좋아 보인다. –

+0

나는'computer.position.y'가'ball.position.y'보다 크거나 작 으면't'가 항상'0'이므로'y_computer + vy_computer * t'가 맞습니다. 'vy_comptuer * t' ='vy_computer * 0'이기 때문에 항상 'y_computer'와 같습니다. – prisoner849

답변

0

나는 그것을 얻을 것처럼. 볼의 방향과 "컴퓨터"가 같은지 확인해야하며 그렇지 않은 경우 "컴퓨터"의 위치가 볼의 위치 범위에 "엡실론"을 더한 것과 볼의 위치가 마이너스인지 확인하십시오 이 범위라면 ", ε ', 다음

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 예"컴퓨터 "의 방향을 무효화.

관련 문제