No video
How to make weapons in Godot 2D [Eng. subt.]
Hello everyone, I couldn’t find a tutorial on this topic (in Russian), so I decided to record it myself.
I hope it helps you.
Hello everyone, I couldn’t find a tutorial on this topic (in Russian), so I decided to record it myself.
I hope it helps you.
Пікірлер: 53
я смог настроить удаление пуль при прикосновение к стенам и слаймам: if "slime" in body.name: удалить elif body.name == "TileMap": удалить
@user-gd1qt1ce7q
4 ай бұрын
прошу указать что пулька будет работать только на левале иначе крашит
очень полезное видео, спасибо автору!
Мужик починил микрофон, но ничего не слышно.
Я не понимаю почему этот гайд такой не популярный
@vorongo
3 ай бұрын
Так решил боженька Ютуб 💀
@user-gd1qt1ce7q
3 ай бұрын
@@vorongo я его уже 4 раз смотрю
Мужик, большое тебе спасибо!!!
@vorongo
6 ай бұрын
всегда пожалуйста)
Спасибо, брат!
@vorongo
4 ай бұрын
Рад помочь)
Standalone lambdas cannot be accessed. Consider assigning it to a variable. Что делать?
@vorongo
Ай бұрын
честно, вообще не знаю как помочь(
Как сделать выстрел по истечению определённого времени
@vorongo
14 күн бұрын
@@hachaboss-pd4js extends Node func _ready(): # Запуск функции с задержкой await delay(2.0) print("Эта строка будет напечатана через 2 секунды") # Функция для создания задержки func delay(seconds: float) -> void: await get_tree().create_timer(seconds).timeout
Сними гайд как сделать стрельбу из лука в 2д платформере пж Я уже несколько дней ебусь с этим лучником и пытаюсь заставить его стрелять из лука
@vorongo
Ай бұрын
@@nickneoteam8258 ок, сделаю
@nickneoteam8258
Ай бұрын
@@vorongo спасибо огромное, заранее
Что делать если пистолет стреляет как миниган(как сделать так чтобы пистолет стрелял единожды)
@vorongo
4 ай бұрын
сменить тип нажатия, там после Input.action_presed или action_just_presed
@zeron7727
4 ай бұрын
@@vorongo Спасибо🙏
Спасибо большое, можешь подсказать как сделать стрельбу зажимая мышь, чтобы патроны вылетали быстр, а не кликать по 100 раз?
@vorongo
3 ай бұрын
var is_shooting: bool = false #состояние стрельбы, стреляем или не стреляем) создаём таймер, можно из сцены используя onready. func _ready(): timer.wait_time = fire_rate # Устанавливаем интервал стрельбы timer.connect("timeout", self, "_on_Timer_timeout") func _input(event): if event is InputEventMouseButton: if event.button_index == MouseButton.LEFT: if event.pressed: # Если кнопка зажата, то мы просто запускаем таймер is_shooting = True timer.start() else: # еесли кнопка отпущена, останавливаем таймер is_shooting = False timer.stop() func _on_Timer_timeout(): if is_shooting: shoot() #стреляем по окончанию таймера. Вроде это всё что нужно
у меня выдаёт ошибку Cannot cal methood 'ad_child' on a nul value как фиксить?
@user-gd1qt1ce7q
4 ай бұрын
всё я пофиксил
вопрос у меня при нажатии клавиши за стрельбу по траектории движется персонаж а не стреляется пуля
@user-gd1qt1ce7q
6 ай бұрын
P.S код полностью скопировал
@vorongo
6 ай бұрын
Скорее всего, ты установил смену позиции у игрока, а не пули. b.transform = $GunCast2D/Marker2D.global_transform Если ты забудешь, написать 'b', то персонаж будет телепортироваться, а не пуля.
@user-gd1qt1ce7q
6 ай бұрын
@@vorongo с этим я сам разобрался, но спасибо за твою отзывчивость)
Пуля летит не с оружия а с неба что делать?
@vorongo
2 ай бұрын
за поворот пули отвечает строчка b.transform = 'наш маркер'.global_transform
@user-zh6kn6tm9d
2 ай бұрын
@@vorongo что можно сделать чтобы такого не было?
Это на какой версии движка?
@vorongo
7 ай бұрын
4
@IIcux-op3dt
4 ай бұрын
4.2.1 стабилка на видео ведь видно.
пожалуйста помогите пуля просто не появляется(сделал все как в ролике)
@vorongo
6 ай бұрын
скорее всего небыло активирована функция "Shoot" напиши её активацию пр нажатии кнопки в функции init() или другой функции
@vorongo
6 ай бұрын
или сцена пули не сохранена
@ktonaxyutakou
6 ай бұрын
@@vorongo спасибо
@notAleksJustA
6 ай бұрын
Если оно моментально исчезает, то оно бьётся об игрока
@diobrando5839
6 ай бұрын
Или z индекс слишком мал
Тихо слышно
@vorongo
7 ай бұрын
F, звук уменьшен на 50%, так как снимал ночью и забыл добавить до рендера
@delast1772
7 ай бұрын
нормально слышно, звук у себя добавь
@l_N_e_o_l
7 ай бұрын
@@delast1772я звук на максимум добавлял, че думаешь, не догадаюсь
что такое owner? owner.add....
@vorongo
6 ай бұрын
он позволяет узнать к какой сцене относится узел, по сути он просто создаёт копию сцены(пули) в сцене(игрока).
@faxnuts1977
6 ай бұрын
@@vorongo 1. Спасибо, кажется понял, но не до конца. Почему спрашиваю, просто, то что относится к синтаксису годот подсвечивается синим, красным, зеленым, желтым цветами.. а название переменных и др. белым текстом и не всегда понятно, owner, transform и тд. в других роликах тоже, это название переменной, название сцены, плеера или это относится к встроенному языку годот. 1.1 получается owner создает копию объекта внутри текущей сцены, но скрипт ты крепишь к плееру, а не к ружью, пуля вылетает из маркера, выходит owner привязан к маркеру? если я удалю маркер, то будет ли пуля вылетать из центра персонажа или же нужно крепить маркер к персонажу, чтобы из него вылетал объект? 2. при нажатии кнопки ты написал shoot(), после вызвал туже функцию. эта функция встроена уже по дефолту в движок, или это ты ее создал, назвал и задал ей параметры. В других роликах вижу функции shot(), Death() и тд. они вшиты в годот, как ready(), process(), не совсем понимаю как они работают, тогда (типо, реди готов к исполнению, процесс - ежесекундно выполняется, а шут как работает?), или создаются новые функции человеком?
@vorongo
6 ай бұрын
1. если удалить маркер у оружие, то пуля будет появляться из центра персонажа или центра оружия, смотря как настроено. 2. функция shoot() не вшита в godot, такие функции требуют активации, в других функциях, например в ready(), но как я знаю, между вшитыми функциями есть различие в частоте их активации, а точнее их приоритете.
@faxnuts1977
6 ай бұрын
@@vorongo я понял, Спасибо
Пишет ошибку Invalid set index ‘transform’ (on base: 'Area2D (bullet.gd)’) with value of type 'Vector2’. Мол у Area2D нет индекса transform
@vorongo
5 ай бұрын
В сцене Bullet используется transform.x, то есть заставляем пулю лететь, а в игрока мы лишь спавним копии и назнвчаем направление, а если честно я вообще не понял, откуда у тебя это ошибка...