2015-09-29 5 views
0

Помощь по перемещению элементов на холсте. Как добавить изображения на холсте и заставить их двигаться с помощью кнопок с клавиатурыКак перемещать изображение на холсте?

document.addEventListener('keydown', function(event) { 
    if(event.keyCode == 37) 
    { 
    launcher.dir = 'left'; 
    } 
}, false); 
document.addEventListener('keyup', function(event) { 
    if(event.keyCode == 37) 
    { 
    launcher.dir = ''; 
    } 
}, false); 
document.addEventListener('keydown', function(event) { 
    if(event.keyCode == 39) 
    { 
    launcher.dir = 'right'; 
    } 
}, false); 
document.addEventListener('keyup', function(event) { 
    if(event.keyCode == 39) 
    { 
    launcher.dir = ''; 
    } 
}, false); 
left_btn.addEventListener('mouseup', function(event) { 
    launcher.dir = ''; 
}); 
right_btn.addEventListener('mousedown', function(event) { 
    launcher.dir = 'right'; 
}); 
+0

Просто используйте DrawImage вместо FillRect читать. Перед началом игры убедитесь, что ваши изображения уже загружены. – GameAlchemist

ответ

0

Вы можете переместить «форму» на холсте двумя способами:

+0

Я могу перемещать фигуру, но как перемещать изображение вместо формы? – HenryDev

+0

Представьте, что вы рисуете изображение в координатах [10,10]. Если вы вызываете ctx.translate (10, 0) перед ctx.drawImage (10, 10), его следует переместить в [20,10]. Трансформации применяются ко всему, что будет нарисовано на холсте, а не только в форме. Поэтому вам просто нужно перевести перевод в каждый кадр, чтобы переместить изображение. И чтобы предотвратить, что translate() будет применяться ко всему остальному, который вы рисуете, используйте ctx.save() и ctx.restore(), как описано в связанном примере для стека состояний. – treeno

Смежные вопросы