Найти в Дзене
Саня Ковл

Создание платформера с использованием кода.

В данной статье мы разберем создание платформера с использованием языка программирования, который нам предлагает данная программа.

Начнем сначала. Создадим спрайт какого-нибудь игрока, я же буду использовать спрайт, который у меня уже был (рисунок 3.1).

Рисунок 3.1.
Рисунок 3.1.

Создадим его объект. Заходим в его свойства, присваиваем ему наш спрайт, нажимаем Add Event -> Step -> Step, перетаскиваем кнопку Execute Code в поле Action (рисунок 3.2).

Рисунок 3.2.
Рисунок 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.

Рисунок 3.3.
Рисунок 3.3.

Для этого переходим в свойства персонажа, нажимаем Add Event -> Draw -> Draw, переносим кнопку Create Effect и настраиваем как на рисунке 3.4.

Рисунок 3.4.
Рисунок 3.4.

Только в поле Applies, ставим галочку напротив Self, в поле Color выбираем цвет, который нам по душе, нажимаем ОК. Теперь у нашего персонажа есть хвост, который будет двигаться за ним, а по истечению времени укорачиваться.

В данной статье мы рассмотрели второй вариант создания платформера, который является наиболее стабильным и корректным. В следующей статье мы рассмотрим как создать симулятор города.