나는이 자바 스크립트 코드를 사용하여 벽에서 튀어 오르는 공을 얻고 클릭시 & 일시 중지를 일시 중지합니다. 일시 중지 할 볼을 얻었으므로 잠재적 옵션에 대한 의견을 보내고 부울을 사용하여 다시 시작할 수 있습니다. setTimer() & stopTimer()는 미리 정의 된 함수입니다.공이 튀어 오르는 벽 - 일시 중지 및 이력서
var ball;
var dx = 4;
var dy = 4;
var isPaused = false;
/* This program has a ball bounce around the screen. */
function start(){
ball = new Circle(20);
ball.setPosition(100, 100);
add(ball);
setTimer(draw, 20);
if(isPaused == true){
mouseClickMethod(resume);
}
}
function draw(){
checkWalls();
ball.move(dx, dy);
mouseClickMethod(pause);
}
function checkWalls(){
// Bounce off right wall
if(ball.getX() + ball.getRadius() > getWidth()){
dx = -dx;
}
// Bounce off left wall
if(ball.getX() - ball.getRadius() < 0){
dx = -dx;
}
// Bounce off bottom wall
if(ball.getY() + ball.getRadius() > getHeight()){
dy = -dy;
}
// Bounce off top wall
if(ball.getY() - ball.getRadius() < 0){
dy = -dy;
}
}
function pause(e){
var isPaused = true;
if(isPaused == true){
stopTimer(draw);
}
}
function resume(e){
var isPaused = false;
if(isPaused == false){
setTimer(draw, 20);
}
}
당신은 순수한 자바 스크립트가 필요하거나 심지어 괜찮습니까? –
그렇다면 pause() 및 resume() 함수 매개 변수를 사용하는 이유는 무엇입니까? –
애니메이션과 관련된 타이밍을 원한다면 setTimeout을 사용하는 대신 requestAnimationFrame을 조사해야 할 수도 있습니다. https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame – derp