2013-06-07 3 views
-1

Итак, я делаю крошечную игру html5. И я не знаю, как что-то сформулировать.y position animate in if if

Я получил это:

if (40 in keysDown) { // Player holding down 
    hero.y = 300; 
} 

Так что если игроки удерживать нажатой клавишу со стрелкой, герой переходит на 300px. Но я хочу, чтобы он оживился до 300 пикселей, как мне это сделать?

Я попытался это:

if (40 in keysDown) { // Player holding down 
     hero.animate({"top", "300px"}); 
} 

Но это не работает. Я думаю, что это возможно, я просто не знаю, как сформулировать это.

+0

Что вы пробовали? Вы указываете «jquery-animate» в своих тегах. Вы уже пытались использовать это? Если да, то что не получилось? –

+0

Мы понятия не имеем, что ваш объект 'hero' есть или делает ... – CBroe

ответ

0

Это происходит потому, что вы устанавливаете позицию у 300, используйте следующий код вместо

hero.y += 300; 
+0

Тогда объект просто исчезает ... – Luc

+0

Извините, что мой ответ был неполным, он исчезает, потому что он добавляет 300 пикселей в текущую позицию. Для реалистичного движения вы должны использовать игровой цикл, это статья великого новичка http://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/ – koningdavid