В данной статье мы разберем создание платформера с использованием языка программирования, который нам предлагает данная программа.
Начнем сначала. Создадим спрайт какого-нибудь игрока, я же буду использовать спрайт, который у меня уже был (рисунок 3.1).
Создадим его объект. Заходим в его свойства, присваиваем ему наш спрайт, нажимаем Add Event -> Step -> Step, перетаскиваем кнопку Execute Code в поле Action (рисунок 3.2).
В открывшемся окне пишем:
if (place_free(x,y+1))
{gravity_direction = 270;
gravity = 1;}
else
{gravity = 0;}
if (vspeed>20){vspeed=20}
Теперь давайте детально разберем код. if (place_free(x,y+1)) – проверяем, есть ли свободное место под персонажем. gravity_direction = 270; - устанавливаем гравитацию вниз. gravity = 1; - активируем гравитацию. else – оператор иначе. gravity = 0; - отключаем гравитацию. if (vspeed>20){vspeed=20} – проверяем, если скорость падения больше 20, то она становится равна 20, т.е. с помощью этого параметра мы ставим ограничение для скорости падения.
Теперь поясню код по русски: если под персонажем есть свободное место, то активируется гравитация, наш персонаж будет падать вниз со скоростью 20, а если нет места, то гравитация отключается.
Закрываем редактирование кода, нажимаем Add Event -> Key Press -> <Left>, переносим кнопку Execute Code в поле Action и пишем:
if(place_free(x-4,y))
{
x-=15;
}
Разберем и этот код. if(place_free(x-4,y)) – проверяем есть ли слева от игрока есть свободное место. x-=15; - перемещаем нашего персонажа влево.
Закрываем редактирование кода, нажимаем Add Event -> Key Press -> <Right>, переносим кнопку Execute Code в поле Action и пишем:
if(place_free(x-4,y))
{
x+=15;
}
Теперь создадим спрайт какой-нибудь платформы, создадим ее объект. Переходим в свойства персонажа, нажимаем Add Events -> Collision и выбираем нашу платформу. Переносим кнопку Execute Code в поле Action и пишем:
vspeed=0;
Проделав эти действия, мы научили нашего персонажа двигаться. Давайте научим его прыгать. В свойствах персонажа нажимаем Add Event -> Key Press -> <Up>, переносим кнопку Execute Code в поле Action и пишем:
if (not place_free(x,y+1))
{
vspeed = -27;
}
Поясню код. Если над персонажем есть свободное место, то мы заставляем его двигаться вверх со скоростью 27, так как у нас появилось свободное место внизу, то согласно самому первому коду, персонаж будет стремиться упасть, скорость движения вверх будет периодически падать и в конце концов он снова начнет падать вниз.
Давайте нарисуем что-то типа хвоста, как на рисунке 3.3.
Для этого переходим в свойства персонажа, нажимаем Add Event -> Draw -> Draw, переносим кнопку Create Effect и настраиваем как на рисунке 3.4.
Только в поле Applies, ставим галочку напротив Self, в поле Color выбираем цвет, который нам по душе, нажимаем ОК. Теперь у нашего персонажа есть хвост, который будет двигаться за ним, а по истечению времени укорачиваться.
В данной статье мы рассмотрели второй вариант создания платформера, который является наиболее стабильным и корректным. В следующей статье мы рассмотрим как создать симулятор города.