Демо
Я пытаюсь сделать игру "змея" в формате HTML 5 canvas. Но у меня проблема с тем, чтобы заставить змею двигаться в правильном направлении. Я бы предположил, что следующий код заставит змею двигаться по горизонтали на 0 и 180 градусов, а по вертикали на 90 и 270 градусов, однако это не так. Что я здесь не так делаю? (Используйте стрелки влево и вправо для навигации).
function move(direction) {
if(direction == left) {
angel = (angel - 5) % 360;
if(angel < 0) angel += 360;
} else if (direction == right) {
angel = (angel + 5) % 360;
}
x = x + Math.floor(Math.cos(angel*0.0174532925)*5);
y = y + Math.floor(Math.sin(angel*0.0174532925)*5);
$("#infoBar").html("Direction: " + direction + " angel: " + angel);
drawPoint(x,y);
}
Множитель, конечно, градусы к сиянию. Но почему-то 270 градусов не является прямой вертикальной линией, как я бы предположил, что это было. Что я делаю не так?
Файл Javascript.
HTML-файл.