Ich versuche eine kontinuierliche Bewegung für das div auf Keydown zu bekommen. Die Bewegung beginnt, wird dann aber langsamer und wird etwas ruckelnd. Wie kann ich dieses Problem beheben? hier ist mein Code:smooth animate() von div auf keydown()
$(document).keydown(function(e) {
width = $(this).width();
switch(e.which) {
case key.LEFT:
$('.character').stop().animate({
left:'-=' + width
}, 2000);
break;
case key.RIGHT:
$('.character').stop().animate({
left:'+=' + width
}, 2000);
break;
}
e.preventDefault();
}).keyup(function() {
$('.character').stop();
});
und hier ist die jsfiddle
Dank hinzugefügt zu erläutern. Wie könnte ich die Bewegung nicht nervös machen? anstatt es kontinuierlich zu machen? – laurad
Sie könnten die Lücke reduzieren, die bei jedem Keydown-Ereignis gesprungen ist: https://jsfiddle.net/4yq2pgdx/4/. Es wird jedoch immer relativ unruhig aussehen, weil Sie der Ereigniserkennungsrate des Browsers ausgeliefert sind. –
@laurad Wenn Sie ein Sprite-basiertes Spiel programmieren möchten, kann es sich lohnen, nach einem bereits vorhandenen Framework zu suchen, z. B. [Phaser] (http://phaser.io/) –