28 подписчиков
Подключите сигнал:
В Coin выберите узел Coin, перейдите в "Node" и найдите сигнал coin_collected.
Шаг 7: Обновление кода в GameWorld.gd
gdscript
Run
Copy code
extends Node2D
var score = 0
onready var score_label = $UI/ScoreLabel # Ссылка на Label для отображения счета
func _ready():
# Подключаем сигнал от монеты
for coin in get_children():
if coin.is_in_group("Coin"):
coin.connect("coin_collected", self, "_on_Coin_coin_collected")
func _on_Coin_coin_collected():
score += 1
score_label.text = "Счет: " + str(score) # Обновляем текст на экране
Шаг 8: Создание Интерфейса
Добавьте узел для интерфейса:
В GameWorld добавьте узел CanvasLayer и назовите его UI. 🖥
Добавьте Label для отображения счета:
Внутри UI добавьте узел Label и назовите его ScoreLabel. 🏆
Установите текст по умолчанию, например, "Счет: 0".
Шаг 9: Завершение Настройки Сцены
Добавьте несколько монет:
Дублируйте узел Coin и разместите их на уровне, чтобы игрок мог их собирать. 💰
Добавьте группу для игрока:
gdscript
Run
Copy code
func _ready():
add_to_group("player")
Шаг 10: Тестирование Игры
Запустите игру:
Нажмите на кнопку "Play" (или F6) в верхнем меню, чтобы запустить игру. ▶️
Проверьте, что персонаж может двигаться, прыгать и собирать монеты. Убедитесь, что счет обновляется при сборе монет. 🎉
Шаг 11: Улучшения и Доработки
Теперь, когда у вас есть базовая игра, вы можете добавить различные улучшения:
Добавьте звуковые эффекты: Используйте узел AudioStreamPlayer для воспроизведения звуков при сборе монет или прыжках. 🔊
Создайте уровни: Добавьте новые сцены для различных уровней и переключайтесь между ними. 🌍
Добавьте врагов: Создайте врагов, которые будут двигаться по экрану и могут столкнуться с игроком. 👾
Добавьте анимацию: Используйте AnimationPlayer для анимации персонажа и других объектов. 🎨
Заключение
Поздравляю! 🎊 Вы создали простую 2D платформенную игру на Godot 4.4 с использованием GDScript. Вы можете продолжать развивать и улучшать свою игру, добавляя новые механики и элементы. Не бойтесь экспериментировать и учиться на практике! Удачи в разработке! 🚀
1 минута
15 марта 2025