English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Обратите внимание, что когда условия для выполнения прыжка наступили (то есть, условие в строке 15 полностью выполнено), hero.inAir установлено в true. Мы сохраняем этот признак, когда герой находится в воздухе и когда он находится на поверхности. В строках 25-29 мы проверяем, нажата ли стрелка вниз. Если нажата, то мы приказываем герою наклонится, вызывая hero.crouch(); в противном случае мы вызываем hero.uncrouch(). Если вы думаете вперед, вы можете задаться вопросом, сочетается ли это со сценарием скольжения под платформой и последующим выпрямлением, как упоминалось выше. Это не оказывает никакого эффекта, потому что мы проверяем это условие в функции, которая вызывается после функции platformDetect(). Если мы обнаруживаем, что герой должен по-прежнему наклоняться, то мы вызываем hero.crouch() и игрок никогда не увидит героя стоящим (как и следует). platformDetect() Если вы тратите время на понимание любой функции в этой игре, давайте это будет именно эта. Она довольно длинна (77 строк), но не слишком сложна. Как упоминалось ранее в этой главе, существует много ситуаций, которые мы должны принять во внимание, когда наш герой сталкивается с платформой. Эта функция делает все это. Она не только обнаруживает, столкнулся ли он с платформой, но также определяет свойства платформы (такие как твердость, проницаемость, подвижность) и создает соответствующую реакцию героя. Эта функция представлена ниже: 1 function platformDetect(){ 2 var oldOnPlatform =hero.onPlatform; 3 var onPlatform =false; 4 for (var i =0;i<game.platforms.column.length;++i){ 5 var platform =game.platforms.column [i ]; 6 var px =platform.x; 7 var py =platform.y; 8 var pw =platform.width; 9 var ph =platform.height; 10 var type =platform.type; 11 for (var iteration =1;iteration<= .game.totalIterations;++iteration){ 12 hero.tempx =hero.x+ .(hero.xmov/game.totalIterations)*iteration; 13 hero.tempy =hero.y+ .(hero.ymov/game
Hosted by uCoz