Тёмный

Godot урок 5 (Добавляем Моба) Курс для Новичков: Создание Игр С нуля,  

GameCrafter
Подписаться 7 тыс.
Просмотров 36 тыс.
50% 1

"Быстрый старт с Godot: Создание игр с удовольствием! 🎮🚀 Преодолейте начальные барьеры и начните свою игровую историю. Присоединяйтесь к нам, чтобы воплотить свои идеи в реальность!"
Группа в Telegram:
t.me/+6zyiuofwIhM4NGNl

Опубликовано:

 

14 авг 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 225   
@rootern
@rootern Месяц назад
ПОМОГИТЕ ЧТО ДЕЛАТЬ ЕСЛИ ВЫЛЕЗАЕТ ОШИБКА invalid index 'position' (on base ' null instance') var dierection = (player.position - self.position).normalized()
@thelostdreamer2272
@thelostdreamer2272 4 дня назад
Попробуй добавить моба в отдельный нод
@thelostdreamer2272
@thelostdreamer2272 4 дня назад
Или исправь ошибка в написании кода с dierection на direction
@kerriganstudio1227
@kerriganstudio1227 5 месяцев назад
друзья если у вас баг и моб движется только в одну сторону при условии если вы написали код правильно и иерархия обЪектов сделана так же как и в 5 части этого ролика... вот вам решение проблемы 1) на сцене скелетона объект самого скелетона во вкладке трансформ поставьте в позицию х600 у300(это примерное значение) 2) на сцене плеера объект самого плеера во вкладке трансформ поставьте в позицию х600 у300(это примерное значение) 3) на сцене левел родительские объекты плеер и мобс поставьте на х0 у0 а дочерние объекты скелетон и плеер должны быть на позиции х600 у300(это примерное значение) в итоге все корректно заработает у вас надеюсь я кому то помог всем успехов
@user-rp1ob3fk7l
@user-rp1ob3fk7l 4 месяца назад
Большое спасибо за совет, но можешь объяснить откуда берется этот баг, и теперь у меня скелет с плеером летят в угол, это как-то можно это исправить?
@kerriganstudio1227
@kerriganstudio1227 4 месяца назад
@@user-rp1ob3fk7l берется он из за некоректного положения обьектов относительно расчета в коде... короче все обьекты выравнивай по ху на 0 а потом пробуй ставить как я выше написал... а может у тебя иерархия не так как в уроке... а может в коде ошибка... я не знаю конкретно что в твоем проекте поэтому помочь увы врятли смогу... но все равно удачки тебе
@user-qo7mh4dn1c
@user-qo7mh4dn1c 4 месяца назад
Огромное спасибо, без тебя бы не разобрался в чем проблема
@kerriganstudio1227
@kerriganstudio1227 4 месяца назад
@@user-qo7mh4dn1c рад что мой комент помог и сэкономил время
@pointtochka1111
@pointtochka1111 3 месяца назад
спасибо, заработало. я не совсем понял первопричину этой ошибки, можно поподробнее? получается первоначальна позиция 0;0 самих персонажей не корректна ?
@-lQ_Ql-
@-lQ_Ql- 4 дня назад
Когда я посмел перемотать это чудесное видео на 5 сек, на меня за этот грех наслали дебаф "невнимательность" и я 4 часа чинил какие то ошибки. спс автору, видео хорошее, это я слепошара
@Winter-fo8cg
@Winter-fo8cg 3 месяца назад
Эту строку (а именно путь) лучше вручную прописывать т.к при переносе player в скрипт путь в неверном формате var player = $"../../Player/Player". Возможно кому пригодится если будут ошибки
@relaxationproductivity8250
@relaxationproductivity8250 6 месяцев назад
спасибо за твою работу, очень круто
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
И тебе спасибо за отзыв)
@user-gr3hl5pj8o
@user-gr3hl5pj8o 4 месяца назад
Спасибо большое, посмотрел все 5 видео думал я нечего не смогу, потому что до этого 3 видео посмотрел не помогло ни капли, но с твоими видео я начал создавать со своими персонажами,, свои локации и тд, очень помог
@GameCrafter_GD
@GameCrafter_GD 4 месяца назад
Спасибо за отзыв, я очень рад)
@godotengine_ru
@godotengine_ru 4 месяца назад
а можно по всему курсу изучить годот 3.5? типо со всеми основами я уже знаком, и материал включно до этого весьма понятен @@GameCrafter_GD
@MotoMiteng
@MotoMiteng 2 месяца назад
Спасибо большое за такой крутой курс)
@OUR_RED_ARMY
@OUR_RED_ARMY 8 месяцев назад
Спасибо за видео! Недавно начал смотреть твои видео, всё очень интересно. Только я бы в начале, в первом видео, указал, что рекомендуется знание GDScript, хоть это и может показаться очевидным. Мне пришлось недельку на это потратить, благо, python я знаю более-менее)) Иногда замечаю по ходу просмотра видео небольшие недостатки в изложении материала, но, в целом, мне всё нравится))
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Спасибо за отзыв! Я предполагал что люди не знающие языка, будут повторяя запоминать и учиться на практике)
@OUR_RED_ARMY
@OUR_RED_ARMY 8 месяцев назад
@@GameCrafter_GD На самом деле такой подход к обучению существует, но он требует намного больше неспешной практики, чем в твоих видео. (Это ни в коем случае не претензия!). Конечно, что-то понять вполне можно, но с нуля в полной мере выучить язык так не получится. В прочем, это всего лишь моё мнение.
@SatoryL
@SatoryL 7 месяцев назад
@@OUR_RED_ARMY Работает но не в полной мере. Я программирование учил 100500 лет назад когда turbo C, pascal и тп т.е. сейчас я помню только общие понятия типа объявление переменных, старт и конец цикла и тп И в целом в процессе просмотра видео в части когда возникает просто тонна вопросов.
@sedon76
@sedon76 9 месяцев назад
Замечательно!
@RackerBlack
@RackerBlack 22 дня назад
прописал все нужные команды, вышел из зоны видимости скелета, А ОН ПРОДОЛЖАЕТ ЗА МНОЙ ХОДИТЬ
@bosschikibriki
@bosschikibriki 11 дней назад
жиза, у меня также. попробуй возможно перезагрузить прогу, оно иногда подвисает
@-lQ_Ql-
@-lQ_Ql- 4 дня назад
он у тебя хотя бы ходит (
@-lQ_Ql-
@-lQ_Ql- 3 дня назад
кароче я 1 день пытался это пофиксить (не смог) и теперь это не баг а фича) ну я про то что скелет продолжает идти
@user-pe8bv6ql4o
@user-pe8bv6ql4o 29 дней назад
спасибище !
@Ald_Sotha
@Ald_Sotha 2 месяца назад
Спасибо за уроки, долго не мог понять, почему скелет не идёт за мной - в итоге оказалось, что поставил случайно двойное "=" на строчке chase. Проверяйте, ребята, код внимательно!
@EgorBeginin
@EgorBeginin 7 дней назад
ну вот да он за мной не идет а если убираю один = от вообще зайти не могу\
@BoriskaYT
@BoriskaYT 5 месяцев назад
Привет, крутые уроки! Но у меня появилась проблема. Когда я перетаскиваю персонажа в код, мне пишет чтоперетащить узлы невозможно, потому что скрипт не учавствует в этой сцене. Как решить эту проблему?
@rikvalt2848
@rikvalt2848 7 месяцев назад
долго мучился и не понимал почему мой гоблин стоит на месте.Позже понял что я назвал персонажа не Player, а по своему). Потом появилась ошибка с direction, оказалось когда переписывал код, забыл написать .x. Благодаря тебе и этим ошибкам, точно запомню что как работает)
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Без ошибок нет прогресса) главное не сдаваться 👍
@Almasik-me
@Almasik-me 5 месяцев назад
У меня скелет тоже стоял на месте и ничего не делал. Потом я понял то что "Player" во функции _on_detektor_body_entered(body) НУЖНО ПИСАТЬ С БОЛЬШОЙ БУКВЫ😂😂😂
@tr_335_kr
@tr_335_kr 3 месяца назад
@@Almasik-me Твой комент помог! спс, долго думал в чём проблема...
@Almasik-me
@Almasik-me 3 месяца назад
@@tr_335_kr спс что напомнил про годот, я совсем забыл про него!
@MotoMiteng
@MotoMiteng 2 месяца назад
@@Almasik-me Спасибо тебе большое я переделал благодаря тебе незнал в чем проблема
@Godot-tp4hm
@Godot-tp4hm 8 месяцев назад
GameCrafter, а ты можешь подогнать фон по пикселизации ? Мы в первых роликах увеличили BackgroundLayre под размер окна и теперь деревья кажутся огромными по сравнению с персонажем, да и видно, что пиксели деревьев больше, что пиксели персонажа.. Я пытался сам подогнать слои по пикселизации, но не выходит, появляется пустое пространство. Может ты знаешь как это сделать? Благодарю за контент!
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Я в 8 уроке подгоняю фон под размер камеры, надеюсь это о чем ты говоришь)
@Godot-tp4hm
@Godot-tp4hm 8 месяцев назад
@@GameCrafter_GD Понял, спасибо тебе !
@user-gq1ex9vi6l
@user-gq1ex9vi6l 2 месяца назад
Все по коду написано правильно, но моб каким то образом отказываться преследовать по оси x+ , идет впритык по x- а в обратном направлении подзодит на радиус коллизии и останавливается... Как решить?
@roblaks3a316
@roblaks3a316 6 месяцев назад
лучший❤❤❤❤❤❤❤❤❤
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Рад что ролики понравились
@razlom6477
@razlom6477 5 дней назад
Я написал все точ в точ, но оно не работает!??!??!?? Моб просто стоит и все я изменял всяческий код, Godot у меня 4.1.4 стабильная версия, может это из за версии?
@nurzhan888
@nurzhan888 2 месяца назад
кстати я в плей маркете видел игру где были враги которые тоже ассеты из фентези кричурс
@jasonfrostt3231
@jasonfrostt3231 4 месяца назад
Вроде всё точь-в-точь делаю, а работает иначе. Если моба перепрыгнуть, он начинает убегать от меня, пока не разорвёт дистанцию детектора. В чём может быть ошибка?
@sundeopanda
@sundeopanda 3 месяца назад
не знаю , у меня также
@progi99
@progi99 3 месяца назад
а что всё называется с заглавной так и должно быть?
@vaansanches
@vaansanches 6 месяцев назад
Добрый день, очень хороший курс! Помогите пожалуйста, когда я создал моба по вашему скрипту он в минус по оси Х преследует нормально, а в плюс очень медленно
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Спасибо за отзыв!) нужно смотреть код и сцену, отправьте скрины в телеграм группу
@belockbelock3648
@belockbelock3648 3 месяца назад
блин, не досмотрел видео и сам пошел делать чтобы моб остановился) потом еще сделал чтобы он к начальной точке возвращался
@CroWoron
@CroWoron 2 месяца назад
У кого моб движется только в одну сторону, проверьте как расположен относительно оси координат ваш основной персонаж, именно в собственном графике.(не Level а именно player). У себя я при создании его оказывается сдвинул. он должен быть по нулевым координатам.
@doxa8488
@doxa8488 Месяц назад
помог спасибо
@lolofraiLive
@lolofraiLive День назад
Ребята если у вас не двигается монстр то смотрите внимательней как написали Player возможно в коде вы написали player с маленькой поэтому нечего он не ходит.
@SatoryL
@SatoryL 7 месяцев назад
Два вопроса: 1. А почему мы переменные direction и player объявляем в внутри physics process, а не скажем в самом начале где все переменные? больше касается переменной direction, ибо переменную player я так понимаю можно объявить с @onready и все будет работать. И второй вопрос. У меня почему-то если подойти к мобу справа, то образуется некая дистанция которой моб придерживается т.е. он не подходит в плотную, а если подхожу я ,то моб отходит на эту дистанцию ... не понял от чего это зависит. А если подойти слева, то все нормально. Серва думал что может шейпами соприкасаются , но нет я их ставил и уже и шире - результат тот же.
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
По поводу переменной player резонный вопрос) просто тупанул) а насчет дистанции с мобом, тут скорее всего съехал центр одного из нодов, проверь position родительских нодов mobs или player нужно чтоб на 0 были
@SatoryL
@SatoryL 7 месяцев назад
@@GameCrafter_GD Вроде перепроверил все ноды и их центры, но результата не дало.
@SatoryL
@SatoryL 7 месяцев назад
совместными усилиями нашли проблему , действительно имело место смещение корневой ноды, так что у автора зовётся mobs (у вас она может называться иначе) уж хз как я её сместить и в какой момент. но факт остаётся фактом. выставил все в 0 - проблема ушла. Спасибо телеграм сообществу канала
@its_a_wonderful_life
@its_a_wonderful_life Месяц назад
Начиная с 11:39 как текст скрипта из Skeleton попал в Level?
@evgen7004
@evgen7004 4 месяца назад
спс
@gamekill9419
@gamekill9419 7 месяцев назад
Привет автор.А можешь подсказать а зачем нужно древо анимаций и animation player подскажи пожалуйста?
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Привет) дальше по роликам я буду использовать animation player, как по мне это очень удобный инструмент для анимации чего угодно в движке, с его помощью можно анимировать не только спрайты типа персонажей и т.д., но и любые другие параметры. А animation tree в основном используют для переходов от одной анимации к другой, можно с его помощью настраивать state machine, тоже крутой инструмент, но я пока сам в нем еще разбираюсь) поэтому в этом проекте его скорее всего не будет
@gamekill9419
@gamekill9419 7 месяцев назад
@@GameCrafter_GD я недавно усвоил С++ и понимаю такое понятие контантенация строк и другие мелочи, конечно тебе прям сильно на них заострять внимание не нужно, но новички потом столкнуться с проблемой как тот или иной концепт делает в программировании. А так мне все нравиться подача на хорошем уровне видно что хочешь всем объяснить многие нюансы движка.Просто отметь что делает нестандартный функционал концепта и этого хватит.
@Bad_Art
@Bad_Art 2 месяца назад
Я столкнулся с ошибкой при которой скелет шел в одну сторону, в итоге разобрался что во всем виноваты ноды в которые мы положили игрока и моба. Если вы столкнулись с такой же проблемой просто удалите их и отредактируйте в скрипте моба путь к сцене с игроком
@user-no4ik8kb7i
@user-no4ik8kb7i 3 месяца назад
ААААА Я ВЕСЬ КОД ПРАВИЛЬНО ВВЕЛ НО У МЕНЯ НЕ ПОЛУЧАЕЬСЯ СДЕЛАТЬ ТАК ЧТОБЫ МОБ ДВИГАЛСЯ,ОН ПРОСТО СТОЙТ НА МЕСТЕ ЛАЙКАЙТЕ ЧТОБЫ АВТОР ЗАМЕТИЛ
@ivanivanov9562
@ivanivanov9562 3 месяца назад
Когда читал твой комм до начала просмотра. Обещал себе, что буду очень внимательным. Итог: моб не двигается
@user-no4ik8kb7i
@user-no4ik8kb7i 3 месяца назад
@@ivanivanov9562 я тож раньше не знал что быть внимательным в таком деле просто невозможно
@user-zs8ho1dc1e
@user-zs8ho1dc1e 3 месяца назад
Попробуйте написати if body.name == "player":
@salim21u
@salim21u 3 месяца назад
мой мод не двигался потому что я не правильно написал normalized()
@user-no4ik8kb7i
@user-no4ik8kb7i 3 месяца назад
@@salim21u а я буквально всё правильно написал
@ironservice8034
@ironservice8034 3 месяца назад
что делать когда прописиваю velociti то моб идет на месте и неходит за персонажем
@mlgoy6726
@mlgoy6726 2 месяца назад
У меня моб идет в другую сторону(от игрока),никак не мог исправить,перепробовал советы и переписывал код 6 раз,перепрлверял 9 раз,но ошибок нет
@domtoreto3596
@domtoreto3596 8 месяцев назад
Отлично ))) только почему-то моб не хочет подходить ко мне вплотную )) держит расстояние , и чем ближе подходит, тем он медленнее )
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Проверьте пожалуйста строку в функции physics process где var direction и так далее, в конце не забыли ли вы написать normalized()? Ну и в целом проверьте, может опечатка где)
@domtoreto3596
@domtoreto3596 8 месяцев назад
@@GameCrafter_GD я буквально только что разобрался ))) не знаю как оно точно называется но перекрестие НОДА PLAYER было смещённое ))) и как я понял это изза него ))))))) Спасибо за ответ )))))))
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
@@domtoreto3596 👍
@user-qi1dd2fs7i
@user-qi1dd2fs7i 8 месяцев назад
@@domtoreto3596 у меня такая же фигня, но я не понял шо ты написал. Помоги XD
@teoreta7873
@teoreta7873 5 месяцев назад
@@domtoreto3596 Извините, а не подскажите, что за перекрестие и где? А то у меня таже самая проблема, а понять откуда, не могу
@MotoMiteng
@MotoMiteng 2 месяца назад
Сначала все написал тестирую не работает захожу в коментарии и понял в чем ошибка я с маленькой буквы player написал
@sakyra_meow-oc5nv
@sakyra_meow-oc5nv 4 месяца назад
курс просто огонь! Но у меня появилась проблема. Она заключается в том, что когда игрок выходит из зоны видимости, то моб всё равно движется, только намного медленнее и в рандомную сторону. С кодом всё в порядке, как исправить не знаю. Подскажи пожалуйста, что делать?
@GameCrafter_GD
@GameCrafter_GD 4 месяца назад
Спасибо!) причин много может быть, кидай скрины в телегу
@lil_008
@lil_008 5 месяцев назад
Привет.У меня такая проблема когда плейер прыгает,моб прыгает с ним и из-за этого плейер не может бежать в сторону моба P.S.такая проблема бывает только тогда когда моб догнал плейера с левой стороны,в остальных случаях все нормально
@DarkBanOne
@DarkBanOne 6 месяцев назад
Вот у меня вопрос. Во время прыжка персонаж чуть чуть смещается. И выходит что голова за колизией. Как исправить? Или мб в других уроках есть. Или в этом
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Не совсем понятно, скинь скрины в телеграмм
@KUZYA_S
@KUZYA_S 4 месяца назад
У меня выходит ошибка в этом var direction = (Player.position - self.position).normalizet()
@user-ds9ng6zh7v
@user-ds9ng6zh7v 3 месяца назад
Normalized должно быть
@AndirmenOfficial
@AndirmenOfficial 7 месяцев назад
Привет! В скрипте на моба при запуске игры выдает ошибку Invalid get index "position"(on base "null instance") Что делать?
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Скорее всего position не успевает приобрести какое либо значение перед тем как его вызывают, можно ему изначальное значение задать например Vector2.ZERO
@sassas1433
@sassas1433 8 месяцев назад
Можно ли проверять кто вошёл в зону не по имени? Допустим у нас много сгенеренных скриптом объектов и надо проверить не вошел ли кто-то из них в зону, по имени здесь не получится.
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
В godot есть специальные слои и маски для распознования коллизий, в следующих уроках я о них расскажу
@sassas1433
@sassas1433 8 месяцев назад
Отлично
@jadjasi
@jadjasi Месяц назад
а что делать если он за мной бежит но если я буду с левой стороны и побегу НА него то он начнет идти от меня при этом если я иду от него то он идет за мной
@dilmuhammaddilmurodov-mc5gy
@dilmuhammaddilmurodov-mc5gy 5 месяцев назад
Привет, у моба гравитация работает но зачем то он не двигает
@sampir993
@sampir993 8 месяцев назад
Всё что отлично до окончания видео. Я вроде все правильно в скрипте сделал, но по какой-то причине скелет ни в какую не хочет двигаться за мной вправо, вместо это он медленно продолжает двигаться в лево...
@sampir993
@sampir993 8 месяцев назад
По всей видимости проблема в нормализации, но без неё скелета в начале магнитики к персонажу, а потом он не отстаёт куда бы я не пошёл
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Подобная проблема встречалась у других, у них проблема была в смещенном центре нодов либо моба либо игрока, лучше всего заходите в группу телеграмм, покажите свои скрины и там все вместе разберемся)) и спасибо за отзыв
@peteris6992
@peteris6992 8 месяцев назад
Чтобы скорректировать смещение центра нода игрока и моба проверть что у них Level -> Player(Mobs) -> Transform -> Position X = 0 и Y = 0. Тоже долго мучался пока не прочитал ответ про центр моба.
@Fasho-bx4zu
@Fasho-bx4zu 11 дней назад
У меня не двигался моб , но потом я увидел что в строчке if body = player имя было написано правильно
@alexeytroynov1471
@alexeytroynov1471 7 месяцев назад
Почему при заходе в детектор скелет уходит только в влево ? Причём если зайти с правой стороны то скелет уходит медленнее.
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Надо смотреть, скорее всего центр одного из нодов съехал, если нет то попробуй скрины кода скинуть в телеграмм группу
@alexeytroynov1471
@alexeytroynov1471 7 месяцев назад
​​@@GameCrafter_GD я тоже к смещению скина склоняюсь, ведь работал же он как то раньше но как его поправить ?
@virex4104
@virex4104 6 месяцев назад
Добрового времени суток.Подскажите где я могу ошибиться.Ситуация такова делаю все по видео создал скелета и анимацию для него не запускал правда после этого когда видео закончилось пробую у себя и вижу что мой персонаж и скелет просто летают и не падают.
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Доброго времени и вам) могу предположить что move and slide не добавили. Если дело в другом то нужно разбираться, заходите в группу в телеграмм и туда скрины с кодом скидывайте, там точно помогут)
@virex4104
@virex4104 6 месяцев назад
@@GameCrafter_GD Спасибо за ответ.Но я уже просто с нуля переписал код, и больше ошибки нету.Я когда хотел скопировать физику в скелета нечайно удалил её и переписал вручную, скорее всего я просто неправильно переписал и из за этого у меня и персонаж не двигался и скелет.
@dast-rezoro3277
@dast-rezoro3277 6 месяцев назад
Здарова,оченнь годные уроки!Я попробовал много раз понят годота,смотрел гайды но блин никто из них не работал,а оказываеться недавно изменили сам годот хд.Все понятно четко теперь годот начинает нравится.У меня вот такой вопрос:У меня есть свой моделки для игры,ну вот когда я включаю игру они ну бегают,но бегают со спины,так и мобы так и моделька игрока.Что можно сделать?Возможно ли проблема в том что оба модельки смотрят в одну сторону?
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Да вполне возможно что они изначально развернуты в другую сторону
@mine-star8549
@mine-star8549 6 месяцев назад
Привет,а есть какие нибудь сайты или же видео с SDscript я бы хотел поучить язык,посоветуйте мне
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
В основном могу посоветовать только официальную документацию, либо говорят на пайтон язык сильно похож так что можешь по нему курсы поискать
@mine-star8549
@mine-star8549 6 месяцев назад
@@GameCrafter_GD хорошо спасибо
@kerba1f897
@kerba1f897 7 месяцев назад
Здравствуйте, столкнулся с такой проблемой: ((Невозможно перетащить узлы, потому что скрипт 'skeleton.gd(*)' не используется в этой сцене.)) тоесть когда я перетаскиваю player на var player мне выдает эту ошибку (таймкод для понятности 11:55) сталкивался с этим в прошлых роликах, но подумал что можно избежать гет нодом, но когда я пишу get_node("Player") выдает ошибку, поэтому хочу понять как исправить ошибку с перетаскиванием
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Необходимо чтобы и скелет и игрок присутствовали на одной сцене, из которой вы привязываете нод
@Don1L
@Don1L 6 месяцев назад
Как добавишь область обнаружения сохрани изменения через cntr + s и тогда всё заработает. Была та же проблема, так ее смог решить
@user-wx2gf3ns9v
@user-wx2gf3ns9v 6 месяцев назад
Видео очень познавательное , автору респект , но у меня почему-то не работает моб всё время бежит от меня , или влево , зависит от того как я поставлю координаты , но не как не могу настроить так чтобы он на меня бежал , и в любую сторону , подскажи пожалуйста
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Заходи в телеграмм группу, там эта проблема многократно обсуждалась, если вкратце у тебя скорее всего координаты сбились у ножа mobs или player
@woodykoffstudio
@woodykoffstudio 8 месяцев назад
Пытаюсь задать переменную player, но не дает перетащить в скрипт ноду. Или как то не так делаю? Ошибка: Невозможно перетащить узлы, потому что скрипт 'skeleton.gd(*)' не используется в этой сцене.
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
могу предположить что вы не добавили скелета на сцену level, если объекты не находятся на одной сцене то и в код друг к другу их не добавить
@woodykoffstudio
@woodykoffstudio 8 месяцев назад
@@GameCrafter_GD Я его добавил как сцену. Скрипт я писал в сцене скелета. Может нужно писать скрипт прямо в уровне на добавленной ноде ?) Вроде С видео сверился) попробовал задавать переменную playerPosition при соприкосновением с детектором, но ведёт себя не очень)
@woodykoffstudio
@woodykoffstudio 8 месяцев назад
@@GameCrafter_GD Получилось, просто похоже я скрипт открывал не из уровня, а из сцены скелета) Спасибо)
@funter1031
@funter1031 13 дней назад
у меня скелет не двигается что делать?
@mr_potato7946
@mr_potato7946 6 месяцев назад
можете помочь ? у меня скрипт не работает то есть func _on_detector_body_entered(body): body.name == "players" : chase = true двоеточие пишет красным в скрипте а если без него то есть body.name == "players" chase = true то chase = true пишет красным что делать?
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Ты if забыл добавить перед body
@artembovyrin3401
@artembovyrin3401 6 месяцев назад
У меня такая проблема: Если поставить игрока и скелета в одну точку на сцене, то почему-то координаты игрока будут больше в 3-4 раза, чем у зомби, и это вообще на любой точке на сцене, и из за этого моб все время идет вправо :(
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Проверь координаты родительских нодов player или mobs
@bo-78bik228
@bo-78bik228 3 дня назад
капеееец я код переписал а оказывается в нем написал "player" а нужно было "Player"
@ivanivanov9562
@ivanivanov9562 3 месяца назад
объясните, что сделал не так. Моб просто двигается в левую сторону extends CharacterBody2D var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var chase = false var speed = 100 func _physics_process(delta): # Add the gravity. if not is_on_floor(): velocity.y += gravity * delta var player = $"../../Player/Player" var direction = (player.position - self.position).normalized() if chase == true: velocity.x = direction.x * speed else: velocity.x = 0 move_and_slide() func _on_detector_body_entered(body): if body.name == "Player": chase = true func _on_detector_body_exited(body): if body.name == "Player": chase = false
@Suharik777
@Suharik777 3 месяца назад
отними правильно и всё будет норм Удаче в проэкте
@top4ikyoutube412
@top4ikyoutube412 7 месяцев назад
Возникла проблема, когда убегаешь от врага влево , то он бежит за тобой, а когда вправо, то он держит дистанцию небольшую
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Скорее всего координаты у одного из нодов сместились, проверь нод mobs у него position должен быть на 0
@top4ikyoutube412
@top4ikyoutube412 7 месяцев назад
@@GameCrafter_GD забыл написать, что уже решил проблему. Тысячу раз проверил координаты, все были на нуле. Удалил коренной нод игрока и заного добавил и всё заработало как надо
@TheRad1ance
@TheRad1ance 9 месяцев назад
Так я наверное пипец невнимательный но у меня скелет начинает идти только после того как я ВЫШЕЛ из зоны я не могу найти видимую ошибку в коде в чем проблема не знаю.. 🌀(да я очень невнимательный (я перепутал entered и exeted)
@GameCrafter_GD
@GameCrafter_GD 9 месяцев назад
Бывает)
@w1ans
@w1ans 6 месяцев назад
Привет, возникла проблема: когда вхожу в зону, где моб меня замечает, он бежит ко мне, все норм, но когда перепрыгиваю его он идёт в ту сторону, где я был, а там, где я сейчас - туда он не идёт.
@DnevnikMotocyklista
@DnevnikMotocyklista 5 месяцев назад
Тоже самое
@DnevnikMotocyklista
@DnevnikMotocyklista 5 месяцев назад
Чтобы заработало нужно в том месте где ты инициализируешь переменную player когда перетаскиваешь из сцены для того чтобы присвоить значение нужно не ноду в которой хранится твой Player а сам CharacterBody2D
@w1ans
@w1ans 5 месяцев назад
​@@DnevnikMotocyklistaпомогло, спасибо огромное! Неделю мучался с этим!
@dreamingMary
@dreamingMary 3 месяца назад
@@DnevnikMotocyklista помогло, спасибо
@AdVoCaT610
@AdVoCaT610 11 дней назад
У меня проблема я вел все коды правильно без единой ошибки но вылазит ошибка и показывает что что-то неправильно
@EgorBeginin
@EgorBeginin 7 дней назад
что именно
@Raze2704
@Raze2704 2 месяца назад
Как только подхожу к мобу, у меня игра просто крашиться
@Brek-Fec
@Brek-Fec 19 дней назад
Почему-то у меня моб не приближается, а убегает от меня
@Ogur4ik149
@Ogur4ik149 2 месяца назад
что делать если пишет что ошибка в этой строке velocity.x == direction.x * speed
@user-qw2dx3ed4x
@user-qw2dx3ed4x 2 месяца назад
Присваивание значение осуществляется через один знак равно (=). У вас опечатка и поставлены два знака равно, что означает операцию сравнения, а не присваивания.
@digmen_gg5308
@digmen_gg5308 4 месяца назад
Приятный контент правда я уже час сижу и думаю почему персонаж не двигается
@GameCrafter_GD
@GameCrafter_GD 4 месяца назад
Надо код смотреть, скрины в телегу кидай)
@ppppizelllll
@ppppizelllll 3 месяца назад
​@@GameCrafter_GDЕсть ли у вас какие-то другие соцсети?
@Clark_Clark
@Clark_Clark 4 месяца назад
У меня проблема: В том что при попределённом растоянии враг перестоёт бежать на игрока а на оборот от него при этом агро зона дастоёт и когда враг бежит на игрок и от. Что делать?
@GameCrafter_GD
@GameCrafter_GD 4 месяца назад
Не совсем понятно, но скорее всего проблема с расположением родительских нодов либо player либо mobs
@Alexandra-ny5jc
@Alexandra-ny5jc 4 месяца назад
@@GameCrafter_GD У меня та же проблема, с иерархией все хорошо. Но для моба центр player'а как у будто правее чем сам персонаж главный. Все проверила, в 2D настроено все корректно. Из-за этого когда персонаж слева от моба, тот бежит и останавливается на определенном расстоянии, а когда справа - то тот продолжает бежать.. Как думаете, в чем может быть проблема?
@Alexandra-ny5jc
@Alexandra-ny5jc 4 месяца назад
Поняла ошибку. Центр Mobs должен быть на пересечении координат, а не на самом персонаже....
@quz3s
@quz3s 5 месяцев назад
сделал все так как ты, но вместо того что бы двигаться за мной скелет убегает, что делать
@GameCrafter_GD
@GameCrafter_GD 5 месяцев назад
В телеге в разделе FAQ должен быть подробный ответ, попробуй сперва его
@zeisawi
@zeisawi 6 месяцев назад
У меня враг стоит на месте что делать?(всё я исправил переписал скрипт для врага и всё стало работать,спасибо за тутор😅)
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Молодец 👍
@user-ns7it4ep1k
@user-ns7it4ep1k 5 месяцев назад
8:25 у меня на этом месте появился баг, что делать? пишется что сцена не содержит скриптов (хотя до этого я написал скрипт)
@GameCrafter_GD
@GameCrafter_GD 5 месяцев назад
Возможно скрипт не привязан к ноду, скинь скрины в телегу
@ppppizelllll
@ppppizelllll 3 месяца назад
Решилась проблема? Можете подсказать с этой же темой?
@neuralnetwork-qr9fu
@neuralnetwork-qr9fu 3 месяца назад
а где скелет брать?
@Suharik777
@Suharik777 3 месяца назад
в 2 гайде под роликом ссылка
@user-tc7zl8et2o
@user-tc7zl8et2o 8 месяцев назад
у меня выдает ошибку "Nonexsistent function 'normalised' in base 'Vector2'"
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Можно скрин скрипта посмотреть, либо в телеграм либо дискорде?
@user-tc7zl8et2o
@user-tc7zl8et2o 8 месяцев назад
@@GameCrafter_GD я уже разобрался, спасибо
@VevtIch
@VevtIch 4 месяца назад
Можете помочь я переписывал код уже 3 раза и скелет не движется хотя иерархия такая-же всё также сделал
@matyuioprs9831
@matyuioprs9831 3 месяца назад
Такая же проблема не понимаю в чём причина(
@user-by2ut3sp2u
@user-by2ut3sp2u 4 месяца назад
помогите, скрипт перепроверил 3 раза, всё точь в точь, но когда я запускаю проверить, меню работает, но когда нажимаю на любую кнопку сразу зависает и не отвечает
@user-by2ut3sp2u
@user-by2ut3sp2u 4 месяца назад
сам godot ошибки не показывает
@user-by2ut3sp2u
@user-by2ut3sp2u 3 месяца назад
я всё уже решил, я просто normalized не в ту строку написал
@user-bo7yl5qt9t
@user-bo7yl5qt9t 8 месяцев назад
Объявление player нужно убрать из цикла, зачем нам каждый раз заново её ставить.
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Согласен, в дальнейшем переделаем
@ktonaxyutakou
@ktonaxyutakou 3 месяца назад
помогите пожалуйста ,код как в видео ,но при запуске игры не следует за игроком
@-lQ_Ql-
@-lQ_Ql- 4 дня назад
у тебя тоже Identifier "direction" not declared in the current scope.?
@user-qi1dd2fs7i
@user-qi1dd2fs7i 8 месяцев назад
У меня наоборот убегает от меня, вместо того чтобы за мной бегать
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Это самая часто встречающаяся проблема, скорее всего сдвинулся один из родительских нодов, mobs или возможно player
@xiaomixiaomi1468
@xiaomixiaomi1468 6 месяцев назад
​@@GameCrafter_GDскажи пожалуйста где ты скачал персонажа скелета
@quz3s
@quz3s 5 месяцев назад
@@GameCrafter_GD а как это исправить?
@Obozrevatel_Godot
@Obozrevatel_Godot 7 месяцев назад
Почему у меня не ходит мой монстр если я всё сделал как в видео ? (он просто стоит)
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Заходи в телеграмм группу и туда скидывай скрины, нужно разбираться
@keraa9343
@keraa9343 5 месяцев назад
автор спасибо дай дискорд канал
@GameCrafter_GD
@GameCrafter_GD 5 месяцев назад
Пожалуйста) ссылка где-то в описании была или под роликами
@keraa9343
@keraa9343 5 месяцев назад
у меня ошибка но некто помочь не может@@GameCrafter_GD
@GameCrafter_GD
@GameCrafter_GD 5 месяцев назад
@@keraa9343 в телеграм заходи, там народу много, кто-нибудь точно поможет
@florudk1
@florudk1 7 месяцев назад
Привет, я сделал точно так же как и на уроке, только у меня одна проблема, моб вообще не двигается, может кто объяснить причину?
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Привет, скинь скрины скриптов в телеграм группу, там посмотрим
@igurkin
@igurkin 7 месяцев назад
Возможно у тебя пробелы у строчек (табы) не верно соблюдены после if not is_on_floor(): , тогда он это условие использует и на движение
@gamshot28
@gamshot28 7 месяцев назад
Привет, недавно решил заняться играми и попробовать сделать свою игру. Я всё сделал также как в уроке но моб по кд за мной бежит. Кто может с этим помочь, можете дать свой дс, что бы разобраться в этой проблеме.
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Привет, супер!) Есть и дискорд и телеграмм, ссылки под видосами, кидай туда скрины будем разбираться
@digmen_gg5308
@digmen_gg5308 4 месяца назад
я крч нашел эту ошибку if chase == true: velocity.x = direction.x * speed я написал вместо velosity.x = написал - и сидел час с мыслями что я сделал не так почему не работает видео приятные спасибо за контент
@GameCrafter_GD
@GameCrafter_GD 4 месяца назад
Спасибо за отзыв) не совсем понял вопрос
@digmen_gg5308
@digmen_gg5308 3 месяца назад
@@GameCrafter_GD я совершил просто ошибку в коде вместо = я написал - и не мог из за этого найти ошибку
@Matvelll
@Matvelll 7 месяцев назад
Что делать если скелет не ходит подскажите пожалуйста
@GameCrafter_GD
@GameCrafter_GD 7 месяцев назад
Скинь скрины кода в группу телеграмм, надо смотреть иначе непонятно
@keraa9343
@keraa9343 5 месяцев назад
привет. тебе помогли?
@TheRad1ance
@TheRad1ance 9 месяцев назад
Забыл сохранить стерлась часть кода при попытке повторить враг бежит только в одном направлении(налево) код точно такой же как и на видео либо я опять что то упустил и слишком невнимательный 😵‍💫 Он именно когда я вхожу в его зону начинает бежать влево (помню было так раньше только наоборот вправо и оно как то само исправилось)
@GameCrafter_GD
@GameCrafter_GD 9 месяцев назад
Проверь переменную direction, она должна быть (player.position - self.position).normalized() то есть если игрок будет справа от моба то direction будет 1 а если слева то -1. А потом velocity.x = speed * direction.x
@TheRad1ance
@TheRad1ance 9 месяцев назад
@@GameCrafter_GD да все в точности так же
@TheRad1ance
@TheRad1ance 9 месяцев назад
@@GameCrafter_GD я понял что он не просто идет в лево он идёт в определенную часть экрана для него позиция игрока находится там слева это еще страннее
@0xfor
@0xfor 8 месяцев назад
такая же проблема. Удалось найти решение?
@TheRad1ance
@TheRad1ance 8 месяцев назад
@@0xfor нет, сделал проект ещё раз с нуля, появилась похожая проблема но с монетами из будущих уроков 🌀
@user-hs6lc7yi8n
@user-hs6lc7yi8n 6 месяцев назад
Чого у мене гра не заходить коли я нажимаю play еова вилітає
@GameCrafter_GD
@GameCrafter_GD 6 месяцев назад
Сложно сказать, нужно код смотреть
@FedirSaharov
@FedirSaharov Месяц назад
Я пока новичок, но опьіт в геймдеве есть. Сделал некоторьіе улучшения - делюсь. 1. Я получаю позицию до персонажа только в случае если чейз уже тру. 2. Кому не нравится то что моб сразу перестает двигаться как только игрок вьіходит за триггр-зону, есть такое решение: Я добавил переменную var last_player_position = Vector2.ZERO которая принимает значение последней точки до игрока и остальное вьіглядит так: if chase == true: var direction = (player.position - self.position).normalized() #позиция до игрока last_player_position = player.position #трек последней позиции игрока print(last_player_position) #єто лог что б можно бьіло видеть записалась ли последняя позиция (можно удалить) velocity.x = direction.x * speed # ну и само движение elif last_player_position != Vector2.ZERO: #если чейз не тру и last_player_position не начальная var direction = (last_player_position - self.position).normalized() #двигаться в сторону последней позиции игрока velocity.x = direction.x * speed #само движение chase = false #перевести значение чейз в фолс move_and_slide() Дальше разберетесь сами
@valpion_lasertag
@valpion_lasertag 2 дня назад
Может кто-нибудь знает в чём проблема: добавил моба на карту всё ок, а когда написал код начала вылетать ошибка var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var chase = false var speed = 100 func _physics_process(delta): if not is_on_floor(): velocity.y += gravity * delta var player = $"../../Player/Player" var direction = (player.position - self.position).normalized() if chase == true: velocity.x = direction.x * speed else: velocity.x = 0 move_and_slide() func _on_detector_body_entered(body): if body.name == "Player": chase = true func _on_detector_body_exited(body): if body.name == "Player": chase = true
@BEGUNKA_PROJECT
@BEGUNKA_PROJECT 8 месяцев назад
var direction = (player.position - self.position). normalized() выдаёт ошибку Invalid get index : 'position' (on base: 'null instance')
@GameCrafter_GD
@GameCrafter_GD 8 месяцев назад
Можете скрин кода в группе тг скинуть, или подробнее описать проблему, обычно такие ошибки возникают когда переменная или параметр, в вашем случае position не успел получить данные. Ошибка может быть в опечатке или в очередности строк и так далее иногда даже лишний пробел играет роль
@8Nomarg8
@8Nomarg8 8 месяцев назад
Такая же ошибка, все 10 раз перепроверил, даже номера строк совпадают. Причем когда пишешь свойства player не предлагают поле .position. Если убрать "player.position" - игра не крашится, но и преследования нет. UPD: Разобрался, похоже криво создалась переменная player. Удалил и снова присвоил значение. после этого заработало.
@lxst.eclipse
@lxst.eclipse 5 месяцев назад
Помоги пожалуйста у меня ошибка E 0:00:03:0852 skeleton.tscn::GDScript_d2sy8:13 @ _physics_process(): Node not found: "Player/Player" (relative to "/root/Level/Skeleton"). Method/function failed. Returning: nullptr scene/main/node.cpp:1638 @ get_node() skeleton.tscn::GDScript_d2sy8:13 @ _physics_process() и желтый маркер на var direction = (player.position - self.position).normalized() как пофиксить вроде всё правильно
@StiwiMine2023
@StiwiMine2023 9 дней назад
E 0:00:02:0338 skeleton.gd:13 @ _physics_process(): Node not found: "../../Player/Player" (relative to "/root/Level/Skeleton"). Method/function failed. Returning: nullptr scene/main/node.cpp:1651 @ get_node() skeleton.gd:13 @ _physics_process() Что это?
@bublebob
@bublebob 4 месяца назад
extends CharacterBody2D var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var chase = false var speed = 100 func _physics_process(delta): # Add the gravity. if not is_on_floor(): velocity.y += gravity * delta var player = $"../../Player/Player" var direction = (player.position - self.position).normalized() if chase == true: velocity.x = direction.x * speed else: velocity.x = 0 move_and_slide() func _on_detector_body_entered(body): if body.name == "Player": chase = true func _on_detector_body_exited(body): if body.name == "Player": chase = false что только не делал, но как надо не хочет работать, скелетик стоит и не реагирует на приближение игрока.... когда убираю else: velocity.x = 0 то всё работает, но гравитация для скелета включается только при пересечении игроком поля детектора
Далее