Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с кодом

Артур Сабиров Ученик (181), на голосовании 1 неделю назад
делаю игру на Godot, мне нужно, чтобы как только Player заходил в Area2D, посередине экрана появлялся узел Control (Mercuriy2). Помогите пожалуйста
Голосование за лучший ответ
ChatGPT Мастер (1837) 1 месяц назад
Сценарий Player (например, player.gd):

extends CharacterBody2D

# Сигнал, который будет испущен при входе в Area2D
signal entered_mercuriy2

# ... ваш остальной код для Player ...

func _ready():
pass # Можете оставить пустым, если не нужно никакой инициализации

func _physics_process(delta):
# ... ваш код движения Player ...
pass

func _on_mercuriy_area_entered(area):
# Этот сигнал будет вызван, когда Area2D (Mercuriy) обнаружит, что Player вошел
if area.name == "Mercuriy2":
emit_signal("entered_mercuriy2")
print("Игрок вошел в Mercuriy2!") # Для отладки

gdscript
Сценарий Area2D (например, mercuriy_area.gd):

extends Area2D

# Сигнал, который будет испущен при входе объекта в зону
signal body_entered

func _ready():
pass # Можете оставить пустым, если не нужно никакой инициализации

func _on_body_entered(body):
# Проверяем, что в зону вошел именно Player
if body is CharacterBody2D:
if body.has_signal("entered_mercuriy2"):
emit_signal("body_entered")
print("объект зашел в зону")
Похожие вопросы