2015-09-07 2 views
0

Я пытаюсь создать основной игровой мир html5. Я пытаюсь реализовать это в чистом JavaScript, прежде чем я продолжу рамки. Я хотел бы получить ввод через клавиатуру, чтобы (1) заставить символ прыгать. И если кто-то для этого поможет мне понять/реализовать игровой мир скремблирования или по крайней мере некоторую информацию о том, как начать с этого.Принимая пользовательский ввод - «прыжок» - в моем холсте HTML5.

//capture user input 
      $k(document).keydown(function(event) 
      { var keycode = (event.keyCode ? event.keyCode : event.which); 
       if (keycode == 87) { //w 
        me.clearCanvas(); 
        me.pY = me.pY - 10; 
        //Draw Player on stage 
        me.drawPlayer(me.pX,me.pY,68); 
       } 
       /* if (keycode == 83) { //s 
        me.clearCanvas(); 
        me.pY = me.pY + 10; 
        //Draw Player on stage 
        me.drawPlayer(me.pX,me.pY,68); 
       } */ 
       if (keycode == 65) { //a 
        me.clearCanvas(); 
        me.pX = me.pX - 10; 
        //Draw Player on stage 
        me.drawPlayer(me.pX,me.pY,65); 
       } 
       if (keycode == 68) { //d 
        me.clearCanvas(); 
        me.pX = me.pX + 10; 
        //Draw Player on stage 
        me.drawPlayer(me.pX,me.pY,68); 
       }  
      }); 

пожалуйста, проверьте мою скрипку: http://jsfiddle.net/GAIsaaks/kbez4crk/1/

Спасибо заранее

+1

что jsfiddle кажется довольно разоренным – scniro

+0

Ваша скрипка, похоже, не работает, даже с включенным jQuery. –

+1

У меня есть эти Fiddles вокруг. Это сырые демки, но они могут быть поучительными (или нет?). ** Прыжки: ** https://jsfiddle.net/m1erickson/qDQBh/, ** Запуск: ** http://jsfiddle.net/m1erickson/qjamY/ – markE

ответ

0

Обычно вы бы записать только входы, как они приходят и использовать цикл обновления, чтобы вызвать действие. т. Е .: при нажатии стрелки вверх вы должны установить character.isJumping = true; в цикле обновления вы можете проверить, пытается ли пользователь прыгать. если персонаж находится на земле, вы начинаете прыжок, если не сбросить флаг (или, возможно, запустить двойной прыжок). в каждом обновлении устанавливают высоту в соответствии с вашей функцией прыжка (первая половина идет вверх, вторая половина идет вниз). Если персонаж касается платформы/земли, вы очищаете состояние перехода. если персонаж касается нижней части экрана, он может умереть.

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