Делаю диалог на godot3 с помощью ассета dialogic 1.5 нужно чтобы диалог начинался только при пересечении area2D

Рейтинг: -1Ответов: 1Опубликовано: 16.08.2023

Далаю 2д игру в godot3 для создания диалогов использую dialodic 1.5 в игре при заходе в сцену с диалогом диалог начинается сразу, но мне нужно чтобы он запускался только при входе в area2D. Как это можно осуществить?

Скриншот программы с проектом:

Скриншот программы с проектом

И код в виде текста:

extends Area2D


var entered = false

func _on_Area2D_body_entered(body: PhysicsBody2D):
    entered = true


func _on_Area2D_body_exited(body):
    entered = false


func _process(delta):
    if entered == true:
        if Input.is_action_just_pressed("ui_accept"):
            get_tree().change_scene("res://world 2.tscn")

Пытался вызвать сцену диалога с помощью данного кода.

Я начинающий поэтому в gdscript не шарю

Ответы

▲ 0Принят

Не знаю точно в чём у вас проблема, но я рекомендую переименовать world 2.tscn в world_2.tscn (убрать пробелы). Также я сильно изменил ваш код:

extends Area2D


func _on_Area2D_body_entered(body):
    if Input.is_action_just_pressed("ui_accept"):
        get_tree().change_scene("res://world_2.tscn")

Но не на 100% уверен что так правильно.

И кстати прежде чем писать игры хорошо-бы научиться GDScript (Книги и учебные ресурсы по Godot и GDScript).