Физика главного героя.
|
|
гайчик | Дата: Понедельник, 11.07.2011, 11:12 | Сообщение # 1 |
Заглянувший
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
| Урок по созданию физики в платформере, также увидим работу с переменными (где мы это и закрепим), назовём эту физику гравитационной системой. И так давайте начнём. Включите расширенный режим вашего 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() //запустим скрипт физики. Урок закончен!
|
|
| |
BRESS | Дата: Пятница, 19.08.2011, 18:12 | Сообщение # 2 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Неплохо. Довольно полезно в принципе. Респект! Правда не в тему немного...
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
qwerto | Дата: Суббота, 12.11.2011, 17:22 | Сообщение # 3 |
Мастер
Группа: Администраторы
Сообщений: 1121
Награды: 2
Репутация: 68
Статус: Offline
| И это будет лучше чем делать физику стандартными функциями, ну там перетащить спрайт вертекальной скорости и тп???Хотя я всегда за скрипты нежели всякие события делать.
|
|
| |
qwerto | Дата: Воскресенье, 13.11.2011, 15:28 | Сообщение # 4 |
Мастер
Группа: Администраторы
Сообщений: 1121
Награды: 2
Репутация: 68
Статус: Offline
| Скрипт нерабочий, видимо как попало скопировал.
|
|
| |
RoKoMe | Дата: Воскресенье, 27.11.2011, 21:55 | Сообщение # 5 |
Бывший игродел...
Группа: Заблокированные
Сообщений: 31
Награды: 1
Репутация: 0
Статус: Offline
| И у меня тож не робит и плюс коментарии у тебя в некоторых местах с пробелом (/ /) а надо (//), сделал бы пример.
Хопчик!
|
|
| |
BRESS | Дата: Понедельник, 28.11.2011, 11:37 | Сообщение # 6 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Удалите комметы в программе и все работать будет!
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
qwerto | Дата: Понедельник, 28.11.2011, 14:53 | Сообщение # 7 |
Мастер
Группа: Администраторы
Сообщений: 1121
Награды: 2
Репутация: 68
Статус: Offline
| BRESS, У меня тоже не получилось заставить работать, если такой умный, то сделай пример.
|
|
| |
BRESS | Дата: Понедельник, 28.11.2011, 17:25 | Сообщение # 8 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Сори, но у меня все работало, пока я не удалил. Давай я позже составлю эту физику. Мне прост ща неохота.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
qwerto | Дата: Понедельник, 28.11.2011, 22:39 | Сообщение # 9 |
Мастер
Группа: Администраторы
Сообщений: 1121
Награды: 2
Репутация: 68
Статус: Offline
| Она хоть нормальная?
|
|
| |
qwerto | Дата: Вторник, 28.02.2012, 17:03 | Сообщение # 10 |
Мастер
Группа: Администраторы
Сообщений: 1121
Награды: 2
Репутация: 68
Статус: Offline
| Тема закрыта, причина: тема не актуальна.
|
|
| |