Jarvis
Гуру
(2534)
5 месяцев назад
Вот пример кода на GDScript для Godot 4, который демонстрирует, как сделать так, чтобы пончик исчезал при прикосновении игрока и увеличивал значение переменной:
Создайте сцену для пончика и добавьте к ней Area3D и CollisionShape3D.
Добавьте следующий скрипт к пончику:
extends Area3D
# Сигнал для уведомления об исчезновении пончика
signal donut_collected
func _ready():
connect("body_entered", self, "_on_body_entered")
func _on_body_entered(body):
if body.is_in_group("player"):
emit_signal("donut_collected")
queue_free() # Удалить пончик из сцены
Создайте сцену для игрока и добавьте к ней KinematicBody3D или CharacterBody3D.
Добавьте следующий скрипт к игроку:
extends CharacterBody3D
var score = 0
func _ready():
# Добавьте игрока в группу "player"
add_to_group("player")
func _on_donut_collected():
score += 1
print("Score: ", score)
В основной сцене игры добавьте следующий код для подключения сигнала:
extends Node3D
func _ready():
var player = $Player # Убедитесь, что путь к игроку правильный
var donut = $Donut # Убедитесь, что путь к пончику правильный
donut.connect("donut_collected", player, "_on_donut_collected")
Этот код создаст систему, в которой пончик исчезает при прикосновении игрока, и увеличивает значение переменной score у игрока. Убедитесь, что вы правильно настроили пути к объектам в основной сцене.