чат
Самые активные пользователи
denisus
 
--illusionist--
 
razanet
 
Dogvill
 
VOLK10201
 
Zahidylin_Marat
 

Статистика
Всего зарегистрированных пользователей: 51
Последний зарегистрированный пользователь: sixgears

Наши пользователи оставили сообщений: 40 в 30 сюжете(ах)
Кто сейчас на форуме
Сейчас посетителей на форуме: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1

Нет

[ Посмотреть весь список ]


Больше всего посетителей (79) здесь было Вс Июл 30, 2017 1:39 am
Последние темы
» Конкурс на лучшую игру на Game Maker
Пн Дек 19, 2011 5:05 pm автор Zahidylin_Marat

» Как сделать TDS на GM .
Пн Июл 11, 2011 3:21 pm автор Dogvill

» Физика главного героя.
Пн Июл 11, 2011 3:05 pm автор Dogvill

» возможности обьекта.
Ср Мар 30, 2011 11:15 pm автор denisus

» Мы переехали на новый хостинг !
Вс Фев 13, 2011 1:51 am автор denisus

» Жвачка - полезна или вредна?
Вс Янв 09, 2011 11:08 pm автор razanet

» Новости с YoYo Games / Game Maker 8.1
Вс Янв 09, 2011 11:03 pm автор razanet

» Радар (views)
Вс Янв 09, 2011 10:17 pm автор denisus

» Noobster [самый простой конструктор игр]
Вс Янв 09, 2011 8:56 pm автор --illusionist--

счетчик
monitoring.cs-hlds.ru/add/
CS 1.6 сервера
мы переехали
[size=18pt]Мы переехали на новый хостинг! Ждем вас здесь: [ftp]http://game.oxnull.net сайт[/ftp] [ftp]http://game.oxnull.net/forum форум[/ftp] Удачи в игрострое ![/size]

Физика главного героя.

Перейти вниз

Физика главного героя.

Сообщение  Dogvill в Пн Июл 11, 2011 3:05 pm

Урок по созданию физики в платформере, также увидим работу с переменными (где мы это и закрепим), назовём эту физику гравитационной системой.
И так давайте начнём. Включите расширенный режим вашего 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() //запустим скрипт физики.
Урок закончен!

Dogvill

Сообщения : 2
Репутация : 0
Дата регистрации : 2011-07-11
Возраст : 20
Откуда : Костополь

Посмотреть профиль http://fansaitestalker.ucoz.ua/

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения