Физика платформера - Разработка игр - Каталог статей - Game Maker
Пятница, 09.12.2016, 14:34
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Файлы и ресурсы
Топ 5 участников
1. BRESS
Репутация: 221
Сообщений на форуме: 3239
2. Gracio001
Репутация: 181
Сообщений на форуме: 1370
3. Xomafok
Репутация: 164
Сообщений на форуме: 947
4. FarEastKmS
Репутация: 125
Сообщений на форуме: 359
5. aHDp
Репутация: 114
Сообщений на форуме: 755
Топ 5 игр
Agent Green 4.6 / 5.0
Wartime 4.3 / 5.0
FeDo 4.0 / 5.0
Adventures: ... 4.0 / 5.0
Secretive ha... 4.0 / 5.0

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

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



На сайте: 3
Гостей: 3
Пользователей: 0
гайчик
Просмотров страницы:
4559

Рейтинг материала:

Другие работы автора:
- -

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

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Войти на сайт

Мини-чат
300

Так как чат открыт для всех, просьба отнестись с уважением к другим посетителям и не писать осознанно посты, оскорбляющие кого-либо, содержащие открытую рекламу/спам. Спасибо за понимание! :)
Опрос
Чем привлекает Вас этот сайт?
Всего ответов: 451
Мы в Вконтакте
Главная » Статьи » Разработка игр

Физика платформера
Урок по созданию физики в платформере, также увидим работу с переменными (где мы это и закрепим), назовём эту физику гравитационной системой. 
И так давайте начнём. Включите расширенный режим вашего 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)
Просмотров: 4559 | Комментарии: 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)
Спс автор
Учту.Только я же начал делать платформер использовающие для прыжка другие переменные.

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