Я возился с элементом canvas в html5, и вот что у меня получилось после небольшого эксперимента
function canvasMove(e) {
var canvas = document.getElementById('game');
if(canvas.getContext) {
var draw = canvas.getContext('2d');
draw.fillStyle = 'rgba(0,0,0,0.5)';
draw.fillRect('10', '10', '100', '100');
var code;
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code);
if(character == '&') { draw.translate(0, -10); }
if(character == '(') { draw.translate(0, 10); }
if(character == '%') { draw.translate(-10, 0); }
if(character == "'") { draw.translate(10, 0); }
}
}
Что он делает, так это перемещает прямоугольник всякий раз, когда вы нажимаете клавиши со стрелками [клавиши со стрелками отображались как &, (, % и ', не уверен, что это то же самое для всех, но это просто эксперимент]. В любом случае, я могу перемещать прямоугольник вокруг, но он оставляет своего рода осадок, так как он не удаляет свою предыдущую форму, так что я получаю очень простой этч-н-набросок, используя очень толстую кисть.
Что я хочу сделать, так это удалить предыдущую форму прямоугольника, чтобы осталась только новая переведенная версия.
Кроме того, я хотел бы знать, как заставить его двигаться, скажем, по горизонтали, нажимая одновременно влево и вверх. Я знаю, что мой код, вероятно, не очень универсален, но мы очень ценим любую помощь.
Спасибо :)