Javascript로 Ping Pong 게임을 만들고 있는데, 화면에서 튀는 공이 있고 래퍼의 아래쪽 테두리를 만지지 못하게 할 수 있습니다. 상자. 여기 JS - jQuery/키가 누름/POLL 함수인지 감지하는 방법
는 화살표 키 ...하지만 무엇 RAQUET를 누를 때 왼쪽에서 오른쪽으로 RAQUET 이동을 가정하는 코드 (튀는 공은 문제는, 나는 이미 프로그래밍 한하지 않음) 원래의 위치에서 왼쪽 또는 오른쪽으로 많은 픽셀처럼 보이게하는 것입니다. 내 말은, 그것이 유창하게 움직이지 않는다는 것입니다, 그것은 단지 왼쪽이나 오른쪽으로 30 또는 100 픽셀처럼 보입니다.function gameLoop() {
//**********DETECTS IF LEFT OR RIGHT KEYS ARE PRESSED************
$(document).keydown(function(e) {
if(e.keyCode == 37) { //LEFT
userBoxPosX -= userBoxSpeedX;
}
if(e.keyCode == 39) { //RIGHT
userBoxPosX += userBoxSpeedX;
}
});
//THE USERBOX IS A DIV THAT WE WILL USE AS RAQUET
userBox.css('left', userBoxPosX + "px");
setTimeout(gameLoop, 50); //THIS FUNCTION CALLS ITSELF EVERY 50 milliseconds (20FPS)
}
어떻게하면 유창하게 움직일 수 있습니까? 화살표 키를 눌렀을 때?
더 많은 정보가 필요하거나 프로젝트 업로드가 필요할 경우 알려 주시면 알 수 있습니다.
한 번에 한 픽셀 씩 이동 했습니까? 프레임 당 얼마나 멀리 움직입니까? – Aiias
'$ (document) .keydown()'을 루프 안에 넣지 않아도됩니다. 한 번 수행하면 사용자가 키를 누를 때마다 콜백이 호출됩니다. – Barmar
보세요, 변수 "userBoxSpeedX"는 1로 설정됩니다. 즉, 원래 위치 (userBoxPosX)에서 1 픽셀 이동하고 작동하지 않습니다. Barmar,하지만 나는 그것을 처리 할 수 없습니다. 정상적인 사건. 게임이기 때문에 이벤트 중심의 애플리케이션이 아닙니다. 동시에 raquet이 움직이기 때문에 공이 튀어 오르고 충돌이 감지되고 있습니다 ... 내가 무슨 뜻인지 아시나요? – JuanBonnett