Воскресенье, 22.12.2024, 11:51
Главная Регистрация RSS
Приветствую Вас, Гость
Поиск по сайту
Авторизация

Меню сайта
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Топ 5 игр
Агент Green 4.2 / 5.0
FeDo 4.2 / 5.0
To Mars: Sec... 4.2 / 5.0
To Mars+MapE... 3.9 / 5.0
Paintball 3.8 / 5.0

Топ игр составлен путем пользовательского голосования.

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Статистика



На сайте: 4
Гостей: 4
Пользователей: 0
Главная » Статьи » Разработка игр

Физика платформера

Урок по созданию физики в платформере, также увидим работу с переменными (где мы это и закрепим), назовём эту физику гравитационной системой. 
И так давайте начнём. Включите расширенный режим вашего Game Maker, создайте новый скрипт (в папке scripts) и назовите его physics_scr. 
И пропишите следующее: 

i_count := 0 // устанавливает счётчик цикла. 
if vertical_speed > 0 then // делаем движение вниз 
begin while i_count < vertical_speed do / / Начало цикла. 
begin if place_free(x,y+0.5) then // Убедитесь, если место твёрдое вы стоите. 
begin y+=0.1 //Пространственное место чтобы двигаться вниз 
sprite_index := down_sprite / / Изменение спрайта вниз. 
end; i_count+=0.1 // Увеличиваем счетчик цикла. 
end; end else if vertical_speed < 0 then // Проверяем, чтобы увидеть, есть ли перемещения вверх. 
begin while i_count > vertical_speed do // Начало цикла. 
begin if place_free(x,y-0.5) then 
begin y-=0.1 / /Прыжок вверх 
sprite_index := up_sprite// изменяем спрайт 
end else begin vertical_speed := 0 //прекращает движение вверх, и падаем вниз 
end; i_count-=0.1 // Увеличиваем счетчик цикла. 
end; end; if place_free(x,y+0.5) then // Проверяем, чтобы увидеть, если есть что-либо ниже вас. 
begin vertical_speed+=gravity_power / / Нет ничего ниже вы тем самым увеличить Вертикальную скорость. 
end else begin vertical_speed := 0 / / Существует что-то ниже вы останавливаете вертикальную скорость. 
jump_left := jump_amount / / Позволяет прыгать. 
if not keyboard_check(ord('A')) and not keyboard_check(ord('D')) and not keyboard_check(ord('S')) then sprite_index := still_sprite end

Со скриптом разобрались теперь перейдите к объекту героя, и в событии Create объекта вставьте переменные: 
gravity_power := 0.4 
jump_height := 4 
jump_amount := 2 
move_speed := 3 
right_sprite := spr_right 
left_sprite := spr_left 
up_sprite := spr_up 
down_sprite := spr_down 
still_sprite := spr_still 

vertical_speed := 0 
jump_left := jump_amount 


Сохраните код. Теперь создайте новое событие Step (Шаг) и пропишите:

 physics_scr() //запустим скрипт физики. 


Урок закончен!
Категория: Разработка игр | Добавил: гайчик (19.08.2011)
Просмотров: 6611 | Комментарии: 8 | Рейтинг: 3.8/5
Всего комментариев: 8
7 Анатолий   (02.06.2012 19:01) [Материал]
и в этой sprite_index := down_sprite / /

8 BRESS   (08.06.2012 11:17) [Материал]
BRESS Спокойно. Автор просто скопировал код где-то, а ошибки связанны с отсутствием спрайта down_sprite и переменной i_count

6 Анатолий   (02.06.2012 18:56) [Материал]
ток там без запятой begin while i_count < vertical_speed do / /

5 Анатолий   (02.06.2012 18:53) [Материал]
ты допустил ошибку - begin, while i_count < vertical_speed do / /

4 Призрак0020   (25.12.2011 13:08) [Материал]
Призрак0020 У меня вообще что-то не так... куда прописывать скрипты, где все эти scr_right и т.д. Плюс к тому же у меня на physics_scr GM не может прочесть скрипты, хотя я специально по нескольку раз и несколькими вариантами пропечатывал. Даже копировал с сайта, всё равно ни чего!

3 Ivan666   (18.12.2011 15:58) [Материал]
Ivan666 Скрипт с шагом не проходит!

2 ФнтиохиЯ   (16.12.2011 18:04) [Материал]
ФнтиохиЯ Юлагодарю, очень помогло, не можешь расширить статью о физике в игре( трение, отскок и т.д)?
Ответ: Возможно отскок будет в уроке как сделать гоночную игру на ГМ.

1 Макс   (11.12.2011 10:48) [Материал]
Спс автор
Учту.Только я же начал делать платформер использовающие для прыжка другие переменные.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]