Godot урок 4 (TileMap + анимация) Курс для Новичков: Создание Игр С нуля,
Vložit
- čas přidán 14. 08. 2023
- "Быстрый старт с Godot: Создание игр с удовольствием! 🎮🚀 Преодолейте начальные барьеры и начните свою игровую историю. Присоединяйтесь к нам, чтобы воплотить свои идеи в реальность!"
Группа в Telegram:
t.me/+6zyiuofwIhM4NGNl
Ты лучший, спасибо за уроки. Без лишней воды и все понятно, жму руку через экран
Спасибо) жму руку в ответ)
blb yfe[qe
Спасибо тебе большое, долго выбирал между Юнити и годо, но благодаря тебе я определился с выбором, так как ты единственный кто +- нормально объяснил, что к чему
Спасибо за высокую оценку)
Тоже такая же история 😁единственный видео туториал где у меня всё получается и я иду вперёд, я в этом Unity три часа пытался заставить треугольник прыгать и бегать, а тут уже на 6 уроке
В смене направления можно убить сразу двух зайцев, сделав проверку в направлении, и заодно это избавит от того, что после поворота персонаж снова возвращается в положение "направо":
if direction:
velocity.x = direction * SPEED
if direction==1:
anim.flip_h=false
else:
anim.flip_h=true
anim.play("Run")
Или сделав условие выбора направления в одну строку тернарным оператором:
anim.flip_h=false if direction==1 else true, т.е. отзеркаливание всегда будет отключено до той поры, пока мы не сменим направление на лево.
Огромное спасибо за уроки!!!
Спасибо за информацию)
if direction==1:
anim.flip_h=false
anim.play("Run") -- Ты забыл тут указать, а так спасибо)
else:
anim.flip_h=true
anim.play("Run")
Условие direction можно написать прямо после знака равенства:
AnimatedSprite.FlipH = direction < 0;
Так мы трёх зайцев убиваем)
но тогда в прыжке направление не меняется.
if direction
velociti.x = direction * SPEED
if direction == 1:
anim.flip_h=false
else:
anim.flip_h=true
anim.play("run")
Всё очень понятно и лаконично )) Даришь надежду что и я смогу сделать что-то Играбельное))))) Спасибо ))
Конечно сможешь!)
Спасибо за еще один видеоурок!
Another excellent presentation. Молодец! Спасибо!
Спасибо, за видео! 👍🏻 понятно и четко. Очень ждём новые выпуски
Спасибо за отзыв)
Отличный гайд. Спасибо большое!
Спасибо 👍
Спасибо за урок! Очень понятно и доступно!
Спасибо
Спасибо! Супер урок!
Спасибо)
Да, человеку далёкому от программирования становится трудновато) наверное придётся вести конспект, дабы быстрее запомнить работу со скриптами. Благодарю за урок!
Не переживай) я и сам далеко не программист) можно просто изучать только те темы которые нужны для текущей задачи, так и изучишь все без боли и страданий 👍
хорошее объяснение, спасибо за урок!
Спасибо за отзыв!
Спасибо за курс отец хорошо объясняешь
Спасибо😂
@@GameCrafter_GD Помоги пж все анимации не работают только первый кадр используется
Большая просьба продолжай видео делать дальше очень хорошо заходят
Обязательно буду продолжать, спасибо
Отличные уроки! Было бы не плохо если бы ещё и уроки по 3d были!
братанчик ты мне жизнь спас,
я долго не мог добавить анимацию
Рад что помог)
Спасибо большое
спасибище !
Спасибо, всё чётко сработало, как и на видео! Я рад)
PS: этот спрайтсэт надо было не по 16px резать, а по 24px ;)
Спасибо за отзыв
привет , вс ебыло норм до момента с тайтлом когда я пытаюсь нарисовать тайтл то изменяется масштаб и не рисуется
мдааааа..... это я сам по докам долго бы дуплился.... Я когда-то уже пробовал разобраться в этом движке, но это было до этого видоса пару лет назад... Спасибо тебе добрый человек.
Спасибо
Пожалуйста 👍
Крутой туториал)
Спасибо
Уроки шикарные, максимально информативно рассказываешь)
Единственное, не могу разобраться с анимацией. В скрипте все также как в видео, но анимация бега тупо не подрубается. Перс как бегал с idle анимацией, так и бегает. Уже все перепробовал, но разобраться не получилось(
Спасибо за оценку) заходи в телеграмм группу и скидывай туда скрины, там поможем чем сможем)
А как сделать так чтоб сначала одна анимация за тем другая ( тойсть при нажатии движения сначала проигрывалась сначала стартующя анимация а потом уже и постоянная а при прекращении движения останавливающая а потом бездествие) или чтоб через время бездействия проигрывалась анимация ждущего персонажа!
а что если игрок застыл на одном кадре?
на A,D удобнее, чем на стрелках
var direction = 0
if Input.is_key_pressed(KEY_A) :
direction = -1
elif Input.is_key_pressed(KEY_D) :
direction = 1
else :
direction = 0
Да дальше в роликах мы это изменим
Автор можешь подсказать мне я на годоте новичок и я учу по твоему курсу. Курс хороший! Но есть 1, но я писал код как ты и у меня пропали 2 анимации idle и бег подскажи ка решить эту проблему
наконец появился годный курс!!! СПАСИБО !!!!!
Спасибо
Спасибо за гайд, но на 15:43 там где надо написать else как только пишу двоеточие всё в итоге ломается.
👍
Спасибо
Здарова , че делать ,если задний фон сильно приближен ?
Анимация Fall в конце кода и урока не дает возможности воспроизводится анимации Jump. Как исправить?
14:17 При флипе по оси Х и У персонаж сильно уходит в сторону, как сделать так, чтобы он как у тебя поворачивался на месте?
Привет, а что делать если все анимации вроде работают, а вот анимация прыжка не воспроизводится?
UPD: Всё, не надо, уже исправил!
❤
👍
Привет какие компоненты скачать и где , не высвечивается некоторые скрипты как у тебя помогите
можете подсказать, почему у меня не переворачивается персонаж? делаю все как у вас, но ничего не происходит
также как у автора объявил работу с аним спрайтом.. он говорит что так нельзя.. пишите вот команду как у автора спереди написать.. но у написал. и это система считает ошибкой
А.. он так будет ругаться.. Если вы забыли указать какая анимация идет по умолчанию.
Помогите пожалуйста,почему персонаж выбегает за границы и падает?
а что делать если в новой версии годота там выходит ошибка то что когда пишешь flip_h такой команды нету а когда начинаешь писать else то выходит
я изначальной вписал
if direction == 1:
$AnimatedSprite2D.flip_h = false
и не парился (хотя пишу код на этом языке впервые)
Сейчас в tilemap коллизий по другому настраивается, я не могу понять как
не получается с момента if direction == -1: и т.д. просто ничего не меняется, хотя ошибок в коде нет
Что делать если пишу anim.play("run") и ошибка Unexpected "Identifier" in class body
Парни, если у вас не поворачивается персонаж, то посмотрите сколько отступов у вас перед if и elif. Сделайте ровно так же как у него
elif?
У меня такая проблема все как у него, но ничего не помогает
Чудесный урок спасибо огромное😊😊но у меня есть одна проблема я вставил шаблон движения но когда запустил он не двигался(у меня мобильная версстя годота)?
Спасибо за отзыв) вообще я бы не рекомендовал разрабатывать игру на телефоне) дешевенький комп будет гораздо удобнее. Но это уже тебе выбирать. Стандартное управление для игрока заточено под клаву. Тебе чтобы на телефоне тестировать нужны кнопки для тач скрина. В одном из роликов мы их добавляем
@@GameCrafter_GD Ну я планировал переходить на комп и неплохо было что то знать.Спасибо
искал золото, а нашел алмаз)
Привет, повторил код полностью как у тебя. Но вылезла проблема с анимацией бега, она начинается с задержкой и она очень быстрая, но бывают моменты когда долго бежишь анимация становится нормальной на короткий момент.
Привет 👋 судя по комменту создается впечатление что проблема не в коде а скорее в настройках анимации, в любом случае тебе лучше в телеграмме скрины с проблемой скинуть, иначе не понятно
Почти всё получилось кроме рана он не поворачивается код верный что делать(
Выстроили сцену как в обучении, земля на уровне корней BG. Но когда запускается дебаг режим, земля оказывается по середине стволов фона. Это произошло после включения Zoom на камере. Подскажите куда копать? Как во время дебага увидеть уровень земли на уровне корней деревьев фона?
Можно в parallax layer в motion scale по Y 0 поставить тогда фон не должен смещаться по вертикали
В ParallaxBackground нужно поставить галку Ignore Camera Zoom в Scroll
Что делать если у меня персонаж не появляется когда я его перенес в level?
я когда лимиты камеры ставлю у меня остается только фон(на уровне)
здраствуйте! есть проблема.... я всё делал по гайду но когда иду в лево ничего не происходит раз 10 проверил всё вроде бы правильно 15:20 застрял на этом моменте из-за этой проблемы(( помогите кто нибудь знающий
спасибо за урок, но у меня проблема, сделал как в видео, но в камере тайл сет (как картинка с колизиями все нормально) прилеплен к камере, а не остается на своем месте
а все разобрался, кому интересно просто перетащил тайл меп в иерархии под level
А если почему то не получается создать новую анимацию, потому что все кнопки серые и причём старую тоже редактировать нельзя, которую уже сделал?
Ого с таким не сталкивался, скинь скрины в телеграмм или дискорд, там разберемся
почему у меня персонаж просто не зеркалится?хоть я всё правильно сделал
Ребят, подскажите кто-нибудь пожалуйста, у меня проблема что персонаж всё равно размывается немного при движении, хотя поставил пункт Physics как автор в видео. У кого-то была такая проблема?
У меня, тоже не знаю
А остальная графика не размыта? В любом случае попробуй в телеге вопрос повторить
Почему когда я нажимаю рендеринг в оак вудстайл сет то у меня там физики неь!!
Извините что делать если все было сделано потом вылетело и не работает анимация ходьбы, или сможете пожалуйста гдето написать или я вам
А все, заработало
16:43 можна взамен "elif" добавить "if" и будет один и тот же результат
так смысл это писать умник если "будет один и тот же результат"
На каждом последующем видео из курса, всё меньше лайков, многие не осилили наверное. Постараюсь пройти его до конца😅
Думаю это неизбежно) но и так намного больше чем я ожидал)
НЕ МОГУУУУ,ну получается его повернуть,что делать,скрипт написал а он задом ходит😢😢😢
Не смог увидеть разницу между Camera2D Process Callback Physics/Idle. Как было нормально так и осталось.
В айдл обычно есть небольшие подергивания когда камера нагоняет персонажа
Здраствуйте, у меня вышла вот такая ошибка - (Невозможно перетащить узлы, потому что скрипт 'player.gd(*)' не используется в этой сцене.) не могу понять каким образом эта ошибка вообще вышла ведь я все редактирую в сцене где персонаж и был создан :( буду заранее благодарна за ответ ( •̀ ω •́ )✧
Здравствуйте, уточните какой узел куда вы хотите перетащить?
@@GameCrafter_GD AnimatedSprite2D в скрипт где делается основа перса
@@theworldofmurderers1195 заходите в телеграмм группу, и туда скиньте скрины чтоб было видно какой скрипт у вас открыт и из какой сцены вы берете нод, иначе долго можно разбираться)
Здравствуйте спасибо за урок. Помогите пожалуйста мне нужно перевернуть(flip_h) collision shape 2d так же как анимацию. Не могу понять как.
Здравствуйте) можно ему в transform scale -1 сделать, но это не точно) если не получиться попробуйте в телеграмм группе этот вопрос задать
@@GameCrafter_GD спасибо, но это пе помогло нужно сдвинуть коллизию при беге влево. Так уж анимация велит
персонаж не двигается при, скрипте ( он двигается, только в воздухе, при прыжке) что делать:(@@GameCrafter_GD
тут же наверно неплох добавить анимацию приземления. С спрайтами +- все понятно. А вот с условием проигрывания не очень. В какой момент ее нужно проигрывать как это условие правильно записать ? Брать какое-то конкретно значение когда велосити по Y равно какое-то небольшое значение отличное от 0 ... или нужно как-то указывать переход по значению велосити Y перед тем как оно стало 0 ... Наверно как-то сумбурно объясняю, ну уж как могу :)
Суть уловил вроде) с анимацией приземления немного запарка, для таких вещей в godot есть animation tree, либо можно использовать state machine, в этом курсе про animation tree я не рассказывал, но в следующем проекте точно буду. Через state machine, можно создать отдельный state для приземления, и включать его после анимации падения.
у меня персонаж не двигается, что делать?
кто-то может написал код что-бы бегать туда сюда с поворачиваться в нужную сторону а он не паворачивается
Ребята ПОМОГИТЕ! Как редактировать Тайл в масштабе, если он сильно большой, и рисуется на пол карты?!
Посмотри справа , может есть размер или выбери внизу другой инструмент рисования
А зачем сцена с персонажем должна быть ниже остальных в списке? На что это влияет ? Просто ради удобства поиска ?
Иерархией в древе сцен можно пользоваться как слоями в фотошопе, только здесь чем ниже в списке тем ближе к зрителю, можно использовать как альтернативный способ расстановки
@@GameCrafter_GD хм, аналогию понял. Тогда другой вопрос ) скажем хочу сделать так чтобы окружение ( фоновое изображение) было как на заднем плане с эффектом параллакса так и на переднем, ну условные кусты, как в LIMBO например или в lille nightmares, Songs of Armor etc. То для реализации подобного эффекта нужно просто создать еще 1 сцену для переднего плана и разместить ее в самом низу в дереве сцен ?
Что-то у меня так не получается Tile Map перекрывает слой с передним слоем в менеджере слоев. Это как-то иначе реализуется. 😀
@@SatoryL как я и сказал древо сцен можно использовать как альтернативу, так же можно использовать z order
я вроде писал по гайду и когда надо было написать скрипт с анимацией при беге на каждое действие была ошибка. что делать
Тоже самое 😢 потом пересматривал и понел что забыл двоеточие поставить
Очень крутой и познавательный урок, но когда я пишу аниматед спрайт фалс у меня выскакивает ошибка. Можешь помочь пожалуйста?
Попробую, напиши пожалуйста что именно ты пишешь или желательно скрин кода, а то так тяжело понять в чем именно ошибка, возможно просто опечатка
@@GameCrafter_GD у тебя есть дискорд?
если есть то вот мой exsiii@@GameCrafter_GD
@@exsiiibeats можешь в группу телеграм вступить, ссылка есть в описании канала, дискорд есть но редко им пользуюсь
окей, телеграмма нет но свой дискорд я кидал. Можешь помочь пж@@GameCrafter_GD
Помогите мне пожалуйста у меня проблема с кодом. Там где if velosity.y == 0 :...... То оно мне говорит что велосити неправильно, хотя у нас версии одинаковые и код. Помогите мне пожалуйста я не могу понять что не так
Уже не нужно. Оказалось что это ошибся встроенный искатель ошибок
лучший!!!! но скажи пожалуйста как поменять управление на кнопки D и A английские чтобы удобней было
пожалуйста
,
Нужно использовать input map, дальше в роликах об этом есть
@@GameCrafter_GD а в каком именно ролике об этом говориться?
@@GameCrafter_GD аууу
@@JsDortgames уже точно не помню но после 7 должно быть
время 15:10 а если при писвании в скрипте не появляется из всплывающего меню flip_h, а если даже прописать то не работает он , персонаж бежит спиной,,,,,в чем может быть дело? делал все досканально как вы, 1000 раз перепроверил все, не работает(
нашёл решение?
@@user-in1on6gd2q нет((
@@Nu_davai_zapla4 жалко
Окей вопросс у меня на моменте где ты перетаскиваешь Анимейтед спрайт 2д не получается повторить за тобой у меня вылазит ошибка что невозможно перетащить узлы не использующиеся в этой сцене а у меня все так как у тебя 😮💨🌀
Скинь мне скрин экрана со скриптом и чтоб узлы видно было я гляну) если все повторял должно работать) куда тебе удобнее почту могу дать, ватсап или телегу?
@@GameCrafter_GD да я уже разобрался ток я так и не понял из-за чего это было
почему у меня не появляется анимаций в скопках?? подскажите говорит что команда play не подходит
наверное не сохранил что бы сохранить используй ctrl+s
12:57 я эту часть смог без помощи туториала сделать
Крутое видео👍 но я не понимаю почему у меня не прыгает игрок?
Спасибо за отзыв!) проверь условие для бега и айдла поставил?
@@GameCrafter_GD спасибо большое, по позже проверю)
@@GameCrafter_GDвсë работает, спасибо я просто думал прыжок стрелкой вверх а он пробелом😅
у меня когда персонаж переворачиваться должен в скрипте, у меня пишет не верно
Скинь скрины в телегу
Когда пытаюсь перенсти назваение в код, пишет "Невозможно перетащить узлы, потому что скрипт 'player.gd' не используется в этой сцене.". Делал все так же с Анимацией но не получается сделать flip_h. Что не так?
Там важно какой открыт скрипт и какая сцена, если допустим открыт скрипт моба и сцена level, то если данного моба нет на сцене в него с этой сцены ничего не перенести
@@GameCrafter_GD Спасибо большое
4:15 В новой версии данной вкладки нет, что делать? Ну или как минимум я не могу её найти
есть ,в инспекторе выбери вверху в списке tile set , а не tile map
Такая же проблема! Ты решил ее?
@@bloknot4956 выбери tile set справа вверху
Помогите, у меня почему то не получается рисовать через tilemap. Что делать?
попробуй поменять выпуск игры (Forward+,mobile и совместимость
что делать когда я делал все так же как в уроке но моя земля находится посередине фона а не в самом низу
Попробуй в parallax layer в motion scale по Y поставить ноль, если не поможет то можно вручную сместить либо фон либо tilemap
а это не зависит от камеры? @@GameCrafter_GD
@@GameCrafter_GD я исправил оказывается в параллакс леер нужно было поставить галочку в игноре камеры
Привет, @darknestdead ! Там еще есть свойство follow Viewport, которое статично выставляет bg и отслеживание происходит как в видео автора.
Подскажите пожалуйста. Я сделал персонажа, добавил к нему капсулу, добавил в CharacterBody2D, и добавил к нему скрипт. Годот выдал скрипт, там все, что было показано на видео. Потом перехочу в сцену level, там я делаю платформы, запускаю игру, чтобы посмотреть как падает персонаж - он не падает, просто стоит на месте и воспроизводит анимацию idle. Я добавляю к платформам "хитбоксы", чтобы они не были просто изображением - ничего не помогло. Скажите пожалуйста что делать? Я пользуюсь телефоном, используя клавиатуру и мышку. Что на телефоне, что на пк - одинаково. Обьясните пожалуйста в чем ошибка, и что делать
Тоже такая история😢
почему у меня не работает прыжок? нажимаю на пробел и ничего не просиходит
Зайди в группу телеграмм, сделай снимок экрана с кодом и отправь в чат, там посмотрим
Слушайте, помогите пж! 15:40 написал как там, он не поворачивается. Что делать?
пожалуйста
всё я нашёл где был баг, пофиксил
А где был баг? Просто такая же проблема
@@ivanberdin5095 отступы, проверь табы
так на какую кнопку прыжок забинжен?
Пробел вроде
а если без тайлов? То как добавить физику?
Для статичных объектов хорошо подойдет нод static body 2d, просто коллизию ему добавь и всё
if direction:
velocity.x = direction * SPEED
anim.play("run")
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
anim.play("idle")
if direction == -1:
$AnimatedSprite2D.flip_h = true
else:
$AnimatedSprite2D.flip_h = false
move_and_slide()
анимация бега не прекращается даже когда останавливается что делать
Я когда иду у меня фон быстро двигается
На прошлом уроке когда мы делали меню там он рассказывал как сделать его медленей
блин урок хороший но как поменять клавиши для ходьбы
а какие кнопки?
что бы двигаться у меня не работает
я когда пишу код для анимации у меня игра после нажатия на play крашиться
уже пофиксил но теперь все анимации не работают только первый кадр используется
Скрины с кодом скинь в телеграмм
У меня, в коде почему то не хочет определять слово anim :(
Anim это всего лишь название переменной которую мы сами выбираем как называть, скорее всего ты не создал её в начале скрипта или возможно создал её внутри другой функции или создал с опечаткой
Хмм, спасибо, я пересмотрю еще раз
4:24 Что то я не могу найти физик лэер в Годот помогите пожалуйста
Нужно нажать на квадратик в инспекторе возле tileset
я не могу повернуть персонажа, написав код где animatedsprite2d.flip_h = true оно либо не работает либо выдаёт ошибку expected indented block after "if" block
А что если я все прожал, но персонаж все равно дерганый
Трудно сказать, попробуй в телеге поспрашивать может кто сталкивался
ПЖ помогите там где подключаем анимацию бега, я все как на ролике делаю а если стрелки нажать хоть 1 раз игра крашится и пишет Attempt to call 'play' in base 'null instance' on a null instance @GameCrafter_GD
СТОЙТЕ УЖЕ ПОФИКСИЛ, СПАСИБО!
У меня перс не поварачиваеться хотя я все правильно сделал
Скорее всего съехал центр одного из нодов, либо mobs либо player, в телеграм группе эта проблема у многих была, там подробнее можно обсудить