【发布时间】:2019-10-22 02:15:00
【问题描述】:
如何在单击箭头按钮时使矩形移动得更快,然后由于我将手指移开,它应该再次以正常值移动。
这是我的代码的样子,包括动画功能: 我试图增加 x,y 值,但它立即跳到另一个方块
【问题讨论】:
标签: javascript html animation canvas
如何在单击箭头按钮时使矩形移动得更快,然后由于我将手指移开,它应该再次以正常值移动。
这是我的代码的样子,包括动画功能: 我试图增加 x,y 值,但它立即跳到另一个方块
【问题讨论】:
标签: javascript html animation canvas
不要让玩家以 60 的恒定速度移动,而是尝试让它以可变速度变化。 IE。
var speed = 60;
...
case 'east':
gameState.playerPosition.x +=speed;
break;
case'west':
gameState.playerPosition.x -=speed;
break;
case'north':
gameState.playerPosition.y -=speed;
break;
case'south':
gameState.playerPosition.y +=speed;
然后不要在keyup 上改变方向,而是在keydown 上改变它和速度。然后当keyup 事件触发时,将速度改回正常。
document.addEventListener('keydown', event => {
speed = 120;
if(event.key==='ArrowRight'){
gameState.direction = "east";
}else if(event.key==='ArrowLeft'){
gameState.direction = "west"
}else if(event.key === 'ArrowUp'){
gameState.direction = "north"
}else if(event.key === 'ArrowDown'){
gameState.direction = "south"
}
console.log('Key ' + event.key + ' was pressed.');
});
document.addEventListener('keyup', event => {
speed = 60;
});
【讨论】: