나는 당신의 케이스가 다소 특별하기 때문에 jQuery의 animate
에 의존하지 않을 것입니다 ... 대신 "게임 루프 패턴"을 사용하십시오 : 움직이는 (그리고 충돌 한) 입자들의 컬렉션을 유지하는 게임 개체를 가지며 다음 정규 interv에서 그려집니다. 알. 당신이 원하는대로
function Particle(x, y) {
this.x = x;
this.y = y;
this.speed = 0; // in pixels per second
this.direction = 0; // in radians per second
}
Particle.prototype.move = function(d_time) {
this.x += Math.cos(this.direction) * this.speed;
this.y += Math.sin(this.direction) * this.speed;
}
Particle.prototype.draw = function() {
// either set the position of a DOM object belonging to this particle
// or draw to a canvas
}
function Game() {
this.particles = Array();
this.MS_PER_FRAME = 20; // in milliseconds
this.D_TIME = 1000.0/this.MS_PER_FRAME;
}
Game.prototype.tick = function() {
$.each(this.particles, function(_, particle) {
particle.move(this.D_TIME);
particle.draw();
})
}
Game.prototype.go = function() {
setInterval(this.tick, this.MS_PER_FRAME)
})
이 그럼 당신은 어쩌면 추가 회원에게 d_speed
(가속) 및 d_direction
정도를 도입하여, 속도와 입자의 방향을 조작 할 수 있습니다 :
여기 기본 구조입니다.
무작위로 변경되는 가속도로 인해 경로가 표시되어야합니다. –