2017-10-17 7 views
1

나는 JS에서 간단한 Pong 게임을 썼지 만, 공을 노를 밟는 동안 공을 방향을 바꾸도록 강요 할 수 없다. 실제 beatControl 기능.내 JS Pong 게임에서 공을 이길 수 없다.

function beatControl() { 

if (ballX + ballSize >= xAiPosition) { 
    ballSpeedX = -ballSpeedX; 
    //console.log(ballX); 
} else if (ballX == xPosition + paddleWidth) { 
    ballSpeedX = -ballSpeedX; 
    // console.log(ballX); 
} 

}

Here's the link to my game

+0

게임에 개체를 사용하는 것이 좋습니다. 외륜선과 볼체를 사용하면 훨씬 더 관리하기 쉽고 복잡한 작업을 수행하면 물건이 실제로 편리해질 것입니다. 이 프로젝트의 소스 코드에서 객체를 사용하는 예제를 확인하십시오. - http://betaio.bitballoon.com/ –

+1

Jared, 제 첫 번째 프로젝트입니다. 아마 전문적으로 보이지 않을 것입니다. :) – Matthew

+0

그래, 그 탁구 게임은 실제로 내가 만든 첫 번째 게임. 어떤 충고라도 자유롭게 나에게 메시지를 보내고 싶다면. –

답변

0

여기 내가 이루어지는 JS 탁구 게임에 사용한 예이다 충돌이 라인이어야한다

else if (ballX == xPosition + paddleWidth) 

이다. 먼저 오른쪽 또는 왼쪽으로 충분히 멀리 있는지 확인하고, 이것이 맞으면 패들이 올바른 Y 값 내에 있는지 확인하여 공을 쳐냅니다. 내 소스 코드를 여기에서 검토 할 수 있습니다. - http://pongio.bitballoon.com/

//Ball hits left paddle 
    if (ball.x<=paddleLeft.width+ball.r && ball.y>=paddleLeft.y && ball.y<=paddleLeft.y+paddleLeft.height) { 
     ball.velX = -ball.velX; 
    } 
    //Ball hits right paddle 
    else if (ball.x>=canvas.width-(paddleLeft.width+ball.r) && ball.y>=paddleRight.y && ball.y<=paddleRight.y+paddleRight.height) { 
     ball.velX = -ball.velX; 
    } 
0

공은 노의 틀린 끝을 수신 거부합니다.

문제

else if (ballX <= xPosition + paddleWidth) 
+0

고마워요.하지만 지금 당장 볼이 당신이 올린 조건을 충족하는 전체 라인에서 튀어 나오고 있습니다. – Matthew