2016-07-20 2 views
0

트리거되었을 때 프로그램을 다시 시작하는 히트 박스를 만들려고합니다.JS 히트 박스가 작동하지 않음

if(snakey.position.x < mos.position.x + 20 && snakey.position.y > mos.position.y - 20 || snakey.position.x > mos.position.x - 20 && snakey.position.y < mos.position.y + 20){ 
     Program.restart(); 
    } 

문제는 대신 히트 상자가 입력 된 프로그램을 다시 시작 트리거의이 적어도 매우 불규칙하게 무작위로 트리거 또는 것으로 보인다이다 : 여기

내가 사용하고있는 코드입니다. 나는이 여러 번 검사하고 아무런 오류 메시지도 나타나지 않아 구문이 정상적으로 처리됩니다.

나와 나와 친구도 조건을 실제로 충족시킬 수 있는지 확인하기 위해 여러 번 논리를 거쳤습니다. 우리는 아무런 문제도 발견하지 못했지만 적절한 시간에 프로그램 재시작을 활성화하지 않거나 일정 시간이 지나도 누군가가 왜 그렇게 이상하게 행동 하는지를 알 수 있다면 전체 프로그램을 연결합니다.

https://www.khanacademy.org/computer-programming/spin-off-of-project-computational-creatures/5001415574814720

답변

0

당신은 구문은 내가 그것을 내가 잘못된 구문에 대한 메시지가 그런 식으로 넣을 경우이 처리 JS 만 정상 JS에 대한 것을 제대로 if((snakey.position.x < mos.position.x + 20 && snakey.position.y > mos.position.y - 20) || (snakey.position.x > mos.position.x - 20 && snakey.position.y < mos.position.y + 20))

+0

괄호 안에 조건을 포장해야합니다. 또한 부적절한 구문으로 인해 문제가 발생하지 않을 수도 있습니다. – Serenity

+0

당신의 문법은 유효하지만 문법상의 논리적 인 오류가 있습니다. 그 이유는 무작위입니다. – ahhmarr

+0

오케이 저는 논리적 인 오류가 있어야한다고 생각했으나 그것을 읽었습니다. 그리고 내 친구가 여러 번 읽었고 우리는 보지 못합니다 논리적 인 문제인데, 왜 내가 여기로 가져 와서 누군가가 잘못된 논리를 발견 할 수 있는지를 알아 냈습니다. 특정 오류가 발생 했습니까? – Serenity