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.

Пікірлер: 53

  • @vorongo
    @vorongo7 ай бұрын

    я смог настроить удаление пуль при прикосновение к стенам и слаймам: if "slime" in body.name: удалить elif body.name == "TileMap": удалить

  • @user-gd1qt1ce7q

    @user-gd1qt1ce7q

    4 ай бұрын

    прошу указать что пулька будет работать только на левале иначе крашит

  • @Egor_davydov
    @Egor_davydov21 күн бұрын

    очень полезное видео, спасибо автору!

  • @IIcux-op3dt
    @IIcux-op3dt4 ай бұрын

    Мужик починил микрофон, но ничего не слышно.

  • @user-gd1qt1ce7q
    @user-gd1qt1ce7q3 ай бұрын

    Я не понимаю почему этот гайд такой не популярный

  • @vorongo

    @vorongo

    3 ай бұрын

    Так решил боженька Ютуб 💀

  • @user-gd1qt1ce7q

    @user-gd1qt1ce7q

    3 ай бұрын

    @@vorongo я его уже 4 раз смотрю

  • @lalex9757
    @lalex97576 ай бұрын

    Мужик, большое тебе спасибо!!!

  • @vorongo

    @vorongo

    6 ай бұрын

    всегда пожалуйста)

  • @Lenya_Ost
    @Lenya_Ost4 ай бұрын

    Спасибо, брат!

  • @vorongo

    @vorongo

    4 ай бұрын

    Рад помочь)

  • @nickneoteam8258
    @nickneoteam8258Ай бұрын

    Standalone lambdas cannot be accessed. Consider assigning it to a variable. Что делать?

  • @vorongo

    @vorongo

    Ай бұрын

    честно, вообще не знаю как помочь(

  • @hachaboss-pd4js
    @hachaboss-pd4js14 күн бұрын

    Как сделать выстрел по истечению определённого времени

  • @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

  • @nickneoteam8258
    @nickneoteam8258Ай бұрын

    Сними гайд как сделать стрельбу из лука в 2д платформере пж Я уже несколько дней ебусь с этим лучником и пытаюсь заставить его стрелять из лука

  • @vorongo

    @vorongo

    Ай бұрын

    @@nickneoteam8258 ок, сделаю

  • @nickneoteam8258

    @nickneoteam8258

    Ай бұрын

    @@vorongo спасибо огромное, заранее

  • @zeron7727
    @zeron77274 ай бұрын

    Что делать если пистолет стреляет как миниган(как сделать так чтобы пистолет стрелял единожды)

  • @vorongo

    @vorongo

    4 ай бұрын

    сменить тип нажатия, там после Input.action_presed или action_just_presed

  • @zeron7727

    @zeron7727

    4 ай бұрын

    @@vorongo Спасибо🙏

  • @desko8638
    @desko86383 ай бұрын

    Спасибо большое, можешь подсказать как сделать стрельбу зажимая мышь, чтобы патроны вылетали быстр, а не кликать по 100 раз?

  • @vorongo

    @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() #стреляем по окончанию таймера. Вроде это всё что нужно

  • @user-gd1qt1ce7q
    @user-gd1qt1ce7q4 ай бұрын

    у меня выдаёт ошибку Cannot cal methood 'ad_child' on a nul value как фиксить?

  • @user-gd1qt1ce7q

    @user-gd1qt1ce7q

    4 ай бұрын

    всё я пофиксил

  • @user-gd1qt1ce7q
    @user-gd1qt1ce7q6 ай бұрын

    вопрос у меня при нажатии клавиши за стрельбу по траектории движется персонаж а не стреляется пуля

  • @user-gd1qt1ce7q

    @user-gd1qt1ce7q

    6 ай бұрын

    P.S код полностью скопировал

  • @vorongo

    @vorongo

    6 ай бұрын

    Скорее всего, ты установил смену позиции у игрока, а не пули. b.transform = $GunCast2D/Marker2D.global_transform Если ты забудешь, написать 'b', то персонаж будет телепортироваться, а не пуля.

  • @user-gd1qt1ce7q

    @user-gd1qt1ce7q

    6 ай бұрын

    @@vorongo с этим я сам разобрался, но спасибо за твою отзывчивость)

  • @user-zh6kn6tm9d
    @user-zh6kn6tm9d2 ай бұрын

    Пуля летит не с оружия а с неба что делать?

  • @vorongo

    @vorongo

    2 ай бұрын

    за поворот пули отвечает строчка b.transform = 'наш маркер'.global_transform

  • @user-zh6kn6tm9d

    @user-zh6kn6tm9d

    2 ай бұрын

    @@vorongo что можно сделать чтобы такого не было?

  • @Zavgar_DiM
    @Zavgar_DiM7 ай бұрын

    Это на какой версии движка?

  • @vorongo

    @vorongo

    7 ай бұрын

    4

  • @IIcux-op3dt

    @IIcux-op3dt

    4 ай бұрын

    4.2.1 стабилка на видео ведь видно.

  • @ktonaxyutakou
    @ktonaxyutakou6 ай бұрын

    пожалуйста помогите пуля просто не появляется(сделал все как в ролике)

  • @vorongo

    @vorongo

    6 ай бұрын

    скорее всего небыло активирована функция "Shoot" напиши её активацию пр нажатии кнопки в функции init() или другой функции

  • @vorongo

    @vorongo

    6 ай бұрын

    или сцена пули не сохранена

  • @ktonaxyutakou

    @ktonaxyutakou

    6 ай бұрын

    @@vorongo спасибо

  • @notAleksJustA

    @notAleksJustA

    6 ай бұрын

    Если оно моментально исчезает, то оно бьётся об игрока

  • @diobrando5839

    @diobrando5839

    6 ай бұрын

    Или z индекс слишком мал

  • @l_N_e_o_l
    @l_N_e_o_l7 ай бұрын

    Тихо слышно

  • @vorongo

    @vorongo

    7 ай бұрын

    F, звук уменьшен на 50%, так как снимал ночью и забыл добавить до рендера

  • @delast1772

    @delast1772

    7 ай бұрын

    нормально слышно, звук у себя добавь

  • @l_N_e_o_l

    @l_N_e_o_l

    7 ай бұрын

    ⁠@@delast1772я звук на максимум добавлял, че думаешь, не догадаюсь

  • @faxnuts1977
    @faxnuts19776 ай бұрын

    что такое owner? owner.add....

  • @vorongo

    @vorongo

    6 ай бұрын

    он позволяет узнать к какой сцене относится узел, по сути он просто создаёт копию сцены(пули) в сцене(игрока).

  • @faxnuts1977

    @faxnuts1977

    6 ай бұрын

    @@vorongo 1. Спасибо, кажется понял, но не до конца. Почему спрашиваю, просто, то что относится к синтаксису годот подсвечивается синим, красным, зеленым, желтым цветами.. а название переменных и др. белым текстом и не всегда понятно, owner, transform и тд. в других роликах тоже, это название переменной, название сцены, плеера или это относится к встроенному языку годот. 1.1 получается owner создает копию объекта внутри текущей сцены, но скрипт ты крепишь к плееру, а не к ружью, пуля вылетает из маркера, выходит owner привязан к маркеру? если я удалю маркер, то будет ли пуля вылетать из центра персонажа или же нужно крепить маркер к персонажу, чтобы из него вылетал объект? 2. при нажатии кнопки ты написал shoot(), после вызвал туже функцию. эта функция встроена уже по дефолту в движок, или это ты ее создал, назвал и задал ей параметры. В других роликах вижу функции shot(), Death() и тд. они вшиты в годот, как ready(), process(), не совсем понимаю как они работают, тогда (типо, реди готов к исполнению, процесс - ежесекундно выполняется, а шут как работает?), или создаются новые функции человеком?

  • @vorongo

    @vorongo

    6 ай бұрын

    1. если удалить маркер у оружие, то пуля будет появляться из центра персонажа или центра оружия, смотря как настроено. 2. функция shoot() не вшита в godot, такие функции требуют активации, в других функциях, например в ready(), но как я знаю, между вшитыми функциями есть различие в частоте их активации, а точнее их приоритете.

  • @faxnuts1977

    @faxnuts1977

    6 ай бұрын

    @@vorongo я понял, Спасибо

  • @haizes
    @haizes5 ай бұрын

    Пишет ошибку Invalid set index ‘transform’ (on base: 'Area2D (bullet.gd)’) with value of type 'Vector2’. Мол у Area2D нет индекса transform

  • @vorongo

    @vorongo

    5 ай бұрын

    В сцене Bullet используется transform.x, то есть заставляем пулю лететь, а в игрока мы лишь спавним копии и назнвчаем направление, а если честно я вообще не понял, откуда у тебя это ошибка...