Game Maker - Как создать управление персонажа как в Undertale
HTML-код
- Опубликовано: 29 сен 2024
- Game Maker Урок 1. Как создать управление персонажа
👾Game Maker в Steam: store.steampow...
👾Официальная страница Game Maker: gamemaker.io
🔵Группа Вконтакте: marsilies
🔵Discord сервер: / discord
⚪Телеграм: t.me/marsilies
⚪Твиттер: / marsilies
⚫Тикток: / marsilies
🔴Музыкальный канал: / marsiliesmusic
Анимации для Фриска делались дольше, чем этот ролик
А ты что хотел? (((
4 месяца прошло. Надеюсь будет продолжение.
Круто
Когда следующая часть гайда
Хотелось бы увидеть подобное видео пару месяцев назад на godot. Долго там мучалась с ходьбой
нужно продолжение как делать батлы в гейм мейкере с атаками
Кто здесь с их дс
👇
Я с тг
3:49 А как ищё добавить?
9:55
Блин я ще гру хотів зробити😢😢
За создание файла игры уже давно денюжку платить не надо. Гейммейкер стал бесплатным для некоммерческих проектов, так что платить нужно только в том случае, если есть на игре желание заработать. Если это простенькая фан-игрушка по Андертейлу, то всё бесплатно.
Сделяй пж гайд на то как сделать битву как в андертейле, особенно то как сделать тяк что бы предметы было видно только в окошке битвы (ну няпример в битве с Сансом кости вылазят из под земли, их не видьно за пределами окошка, только внутьри, как бы это окошко не изменялось >w
А как сделать красную понимаешь?
Ну на сколько я знаю все эти кости это все объекты которые двигаются, а для синей души нужно в комнате включить физику и настроить ее
>w< ну UwU не :3 знаю >3 может •w• попробовать UWUWUWUWU?
🍻 самый лёгкий туториал по управлению!
чо делать если вылетает ошибка
___________________________________________
############################################################################################
ERROR in action number 1
of Create Event for object Object1:
Variable .movement_speed(100007, -2147483648) not set before reading it.
at gml_Object_Object1_Create_0 (line 22) - x += movement_speed * (input_right - input_left)
############################################################################################
gml_Object_Object1_Create_0 (line 22)
????
Ух ты! Неплох) Я, кстати, тоже интересовался разработкой в Game Maker и смог даже сделать боёвку :D
хаарош. если скрипт ещё и твой то имба
Следующее видео: Как сделать обновление для Underverse Battles
Закрываем рубрику, туториалы от никиты страка всё ещё существуют :D, но лично мне этот зашёл, тк у никиты туториал на ходьбу длится час, а ремейк на него который был бы короче он так и не сделал
я здесь именно потому что код никиты страка не работает
Кто может сказать, как сделать стены, чтобы "Фриск" Не проходил через неё?
А какой язык программирования? Я учусь создавать игры пока что. Есть идея огромной видеоигры на будущее
Это специальная программа использующая свой собственный язык насколько я знаю
В Gamemaker используется их собственный скриптовый язык GML (Game Maker Language). Так же можно использовать блочное программирование, как в Скратче.
Что за идея?
@@usser-505 У меня есть идея на создание своей игры с сюжетом. Типо как сейчас выходит Поппи Плейтайм, так и моя игра будет развиваться в будущем. На данный момент я обучаюсь всемы этому программированию, геймдизайну и тд
@@ERR-404_file_not_foundтак а про что игра то будет?)
Молодец! Создавай подобные ролики! С удовольствием буду их смотреть!
Как же ты мне помог) мог бы ты обьяснить механику битвы? Мне очень нужно
Спасибо тебе очень добрый человек помог очень сильно
Ок а кстати типо как-то похоже делал оооооочень довно но мне ролик нравится кому надо тот смотрит.
все таки это очень хорошо для людей которые хотят программировать но не знают как,уважение тебе бро
можно ли в гейммейкере сделать 2д спрайтовый объект игрока движущийся в 3д измерении?
простите, я чайник во всем этом, но когда мой персонаж останавливается лицом ко мне - то телепортируется чуть ниже, это нормально?
как по мне гораздо удобнее сделать управление через step вот так:
Var W = keyboard_check(ord("W"))
Var S = keyboard_check(ord("S"))
Var D = keyboard_check(ord("D"))
Var A = keyboard_check(ord("A"))
Var hspd = D-A
Var vspd = S-W
Move_and_collide(hspd*spd, vspd*spd, obg_parent_wall)
If hspd == 0 and vspd == 0
{Image_index = 0}
If W{sprite_index = spr_frisk_walking_up}
If S{sprite_index = spr_frisk_walking_down}
If D or A{sprite_index = spr_frisk_walking_right}
If A{image_xscale = -1}
Else{image_xscale = 1}
Это управление уже подстроено под столкновение со стенами
Помогите! У меня прозрачная текстура и копируется спрайт при движении...
Я всё видео:ага, ага, понял принял...
Я после просмотра этого видео:эм.... А чё было? 0_0
(Объяснение:я тупой)
Я два дня делал управление. И в третий посмотрел этот ролик и всё получилось. Спасибо лайк и подписка
лево и низ работает идеально а вправо и верх двигается только один спрайт подскажите че делать пж
1) проверь спрайт на анимацию
2) проверь правильный ли ты используешь спрайт
3) проверь логику использования спрайта, который не двигается. Проверь нет ли у тебя image_speeed = 0.
@@MarsiliesOfficial ну да все правильно
Кто шарит, поясните мне пожалуйста что такое "the puppet master"?
Приветствую. А как на счёт того что бы попробовать сделать саму локацию? Я бы очень хотела посмотреть и послушать как это можно сделать. (но только не так, как пример где сделано немножко не очень, я например просто небольшую комнатку на подобии начальной локации в андертейл, где похоронили чару :3)
научи делать боёвку как в undervese batles
делаю все точно также ниче не работает. Это кошмар а не программирование, терпеть не могу
ребят, что делать если я пишу х и у но оно как ошибка виделено
А как это сделать с WASD?
можно весь код? я переписываю но где то ошибка ка всегда
Это даже в Геометри даш можно Релизовать
Спасибо неплохое видео, как насчет продолжения?
ничего не работает перс просто не появляется
где делать спрайт?
Зячем создявать спрайты стояния если есть image_speed (или как то тяк)? ;o;
тебе надо учитывать ещё, что должен быть определённый кадр. И не всегда кадр остановки может быть похож с кадрами, что есть в анимации ходьбы
ты наверное единственный комфортный ютубер по андертейлу, который понятно все объясняет. сохраняй решимость, сделай продолжение, пожалуйста
Марсельез ответь пожалуйста большая проблема есть
Почему очень часто бывает так что на телефонах вам пишет что нет подключения к серверу
Воу ,годный гайд
:)
А можно вопрос [пока у меня пк сломан]А как сделать телепорт и локацию?
Ждём второй урок всей страной. Кста тебя Марсель зовут?
Марсильез пожалуйста сделай найтмера или фатал эрорра
Хоть это и сложно, но можно урок о создании диологовой системы?
учту мнение
@@MarsiliesOfficial ждём
💛💛💛💛😃😃👍👍👍
Большое спасибо босс, это будет полезно для моего фан игры (WonderfulTale)
Ваааау... А вы будете его выпускать в стиме если это будет возможно, или просто на сайте?? Я бы хотела поиграть когда игра выйдет :3❤
👍👍
О боже, Максим, как вам пришла в голову такая идея🧐
Этот метод слишком грамоздкий.
Лучше это делать так:
down = keyboard_check(vk_down)
up = keyboard_check(vk_up)
left = keyboard_check(vk_left)
right = keyboard_check(vk_right)
xsp = (right - left) * movsp
ysp = (down - up) * movsp
if ysp == 0
{
if xsp > 0 {face = NURIGHT}
if xsp < 0 {face = NULEFT}
}
if xsp == 0
{
if ysp > 0 {face = NUDOWN}
if ysp < 0 {face = NUUP}
}
sprite_index = sprite[face]
move_and_collide(xsp, ysp, Obj_air)
if xsp == 0 and ysp == 0
{
image_index = 0
}
if xsp > 0 and ysp > 0
{
image_speed = (movsp - 2)
}
Чел...
Начну с простого:
Где объявление и инициализация shisp и sprite?
Насколько я поняла, shisp - это скорость при нажатом shift (бег..?). Очень НЕ говорящее название.
Sprite - некий map или словарь со ссылками на анимации?
Один хрен они не объявлены.
Дальше:
функции move_and_collide и place_meeting, которые ты используешь в коде не объявлены. Возможно, они объявлены вне этого файлы, тогда где строчка, где ты их подключаешь? Я не знаю gamemaker, может быть там все функции глобальные и все сведено в одно гигантское хранилище, но это глупо и неудобно, поэтому по умлочанию я в это не верю XD
Так, если с move_and_collide всё ясно (хотя в таком случае претензия по поводу громоздкости недействительна, ведь твой код уже начинает быть объемнее, чем в видосе),
то вот с place_meeting вообще ничего не понятно. Что она должна делать? Ты б хоть комментарий оставил, что она делает, раз уж без контекста решил кинуть кусок кода.
Ещё один момент: нахера ты второй раз присваиваешь face значения, если на следующей итерации они не будут учитыватьсяф и просто будут перезаписаны?😂
Ну и напоследок:
Нихрена не понятно за что отвечают bbox_bottom и depth. Они, кстати, тоже нигде не были объявлены.
Ну и я, конечно, вообще не эксперт, но почему бы уж не заключить в if-else statement присваивание depth какого-либо значения? Без него получается, что при условии place_meeting depth будет 2 раза присвоено значение. Это, конечно, в маленьком скрипте ни на что не повлияет, но всё же оно сожрет немного ресурсов, а если будешь постоянно оставлять такие ошибки, скрипт дай бог в 10 fps откроется
@@usser-505 @usser-505 Все притензии к функциям - это бред полный, потому что они являются частью Game maker'а, банально почитать немного мануал. Двойное присваивание face - дебагинг, потому что по какой-то причине он не всегда присваивается при единождом объявлении.
Все переменные объявленны в другой вкладке.
@@DaNetDaDa Хахах, ща прочитала, причина, по которой у тебя не всегда присваиваются значения очень проста:
Условие присваивания xsp - вертикальная скорость должна быть равна нулю
Условие присваивания ysp - горизонтальная скорость должна быть равна нулю.
Иными словами, когда ты идешь по диагонали, присваиваться нихрена не будет, потому что скорости, ни одна, не равны нулю.
Но, по идее, поведение как в андертейле, что тебе не нравится то
(Изменено) понятно... Значит, когда ты идешь по диагонали, допустим, вверх и вправо, затем нажимаешь влево, оно продолжает идти спрайтом вправо...
@@DaNetDaDa мой тебе совет: сотри проверки xsp и ysp для изменения спрайта и оставь только вторые. И перепиши на else if, а то смотрится у*бищно. И для производительности вредно.
Если у тебя image_index (ТОЖЕ СЦУКА НЕ ПОНЯТНО ДЛЯ ЧЕГО ОН) для сбрасывания анимации на первый кадр, то все должно норм робить
@@usser-505 На диагональное перемещение - плевать. По сути, это работает и не лагает, в других этерациях этот код гораздо нагруженее
Марьсильез привет, когда будешь делать историю про сансов можешь сделать историю про вирус 404 санс или же колор санса
Буду благодарен😅