Здравствуйте! Урок по созданию физики в платформере, также увидим работу с переменными (где мы это и закрепим), назовём эту физику гравитационной системой. И так давайте начнём. Включите расширенный режим вашего 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 объекта вставьте переменные:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Создание физики для платформера в game maker», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Прежде чем выдавать чужой код за свой, стоило бы хотя бы сначала привести его в соответствие с синтаксисом, а потом понять, что а) этот код не нужен; б) воровать нехорошо;
Неплохо для простенькой игры. Но настоящей гравитацией здесь и не пахнет. Разве так сложно написать статью, чтобы она описывала нормальное физическое поведение тел? Нужно учесть силу тяжести, сопротивление воздуха. Прыжки в сторону можно также описывать физическими законами. То что здесь написано может написать человек, месяц изучающий GML
Омг... Код, мягко говоря - полная фигня. Ты думай что писать/что пишешь. Понимаю, тебе хочется набить статей. Но пиши по нормальном хотя бы, а не говно в говне.
Почему "{" и "}" заменены на begin и end? Разве первый способ не легче и не удобнее?. Да и чем плохи старые уроки (которых тонны уже) с применением гравитации? Не в меру всё усложнено, да и написано странно.