Урок второй - РПГ состовляющая и немного физики.
План урока:
1. Внедрение элементов РПГ
2. Применение физики.
--- 1. Внедрение элементов РПГ:
а) Окно статистики
б) Переменные
в) Реализуем в комнате
--- а. Окно статистики:
Создаём спрайт размером 96*128 и назовём его "spr_game_menu"
Создаём объект "obj_game_menu".
В будующем мы вернёмся к этому шагу.
--- б. Переменные:
Создаём объект с именем "obj_variables".
Задаём событие "Create" и ставим действие "Execute a piece of code".
Там пишем данный скрипт:
global.player_health = 3
global.player_score = 0
global.player_repear = 0
global.player_ammo = 0
global.player_money = 0
Собственно все нужные на данный момент переменные мы задали.
--- а. Окно статистики:
Теперь создаём объект "obj_game_menu_text" и делаем следующий шаг.
Задаём событие "Draw" и ставим действие "Execute a piece of code".
Там пишем данный скрипт:
draw_text(56,8,global.player_health)
draw_text(8,51,global.player_score)
draw_text(64,75,global.player_ammo)
draw_text(64,91,global.player_repear)
draw_text(64,107,global.player_money)
--- в. Реализуем в комнате:
"obj_game_menu" ставим в координатах (0,0)
"obj_variables" и "obj_game_menu_text" ставте где вам удобней (значения не имеет).
--- 2. Применение физики:
а) Прыжок
б) Столкновение
--- а. Прыжок:
В "obj_player" создаём событие "Create" и в нём пропичываем:
jump = 0
В событии "Step" дописываем:
if keyboard_check_pressed (vk_space)
{ if not(place_free(x,y+1) && jump)
{ jump = true;
vspeed -= 4; } }
{ if (place_free(x,y+1) && vspeed < 5)
{ gravity = 0.2; }
else { gravity = 0; } }
--- б. Столкновение:
Создаём событие столкновения с "obj_platforma" и прописываем следующий скрипт:
{ if (other.solid)
{ vspeed = 0;
jump = false; } }
Ну вот собственно и всё. Можете тестировать.
Итог урока http://letitbit.net/download/2987.2f75d … 2.gmk.html