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

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



xmov -=hero.walkIncrement; 13 hero.walkLeft(); 14 } 15 if ((Key.isDown(Key.SPACE)||Key.isDown(Key.UP))&& .okToJump){ 16 okToJump =false; 17 if (!hero.isJumping &&!hero.inAir){ 18 hero.inAir =true; 19 hero.ymov -=hero.jumpSpeed; 20 hero.jump(); 21 } 22 }else if (!Key.isDown(Key.SPACE)&& .!Key.isDown(Key.UP)){ 23 okToJump =true; 24 } 25 if (Key.isDown(Key.DOWN)){ 26 hero.crouch(); 27 }else { 28 hero.unCrouch(); 29 } 30 } Первое, что мы делаем (строка 2), это сохранение текущего состояния наклона героя. Мы делаем это, чтобы помочь с ситуацией, описанной выше (скольжением под платформой и затем попыткой встать). В функции platformDetect() мы будем использовать это сохраненное состояние наклона, hero.wasCrouching, для определения должен ли быть герой вытолкнут. Далее, в строках 3-7, мы изменяем свойство hero.walkIncrement в зависимости от того, находится ли герой на поверхности, на платформе, или в воздухе. Значение hero.walkIncrement определяет чувствительность персонажа (то есть, его ускорение). В строках 8 и 11 мы проверяем похожие условия. Если клавиша с правой стрелкой нажата, и герой не наклоняется, мы перемещаем героя вправо. Если правая стрелка нажата, и герой наклоняется и находится в воздухе, мы также перемещаем героя вправо. Если случается любая другая ситуация, мы не перемещаем героя вправо. В строке 11 мы делаем такую же проверку, но с левой стрелкой. Строки 15-24 управляют прыжком героя. В строке 15 мы проверяем, нажаты ли пробел или стрелка вверх (обе клавиши управляют прыжком), и равно ли okToJump значению true. Переменная okToJump установлена в true, когда ни пробел, ни стрелка вверх в данный момент не нажаты. Это сделано для того, чтобы вы не могли просто утопить пробел или стрелку вверх и герой бы прыгал автоматически при касании с землей – вы отпускаете клавишу, управляющую прыжком и нажимаете ее снова, чтобы герой прыгнул опять
Hosted by uCoz