


Скрипт для начисления очков
(Unity)У меня по карте разбросаны монетки, игрок должен ходить и собирать их(докасаться до них что-бы собрать), он должен набрать 15 штук этих монет, и будет выполняться метод(метод я уже сам напишу), на панеле есть текст 0/15, там должны отображаться собраные монетки, уже много раз сам пытался что-то написать, и как-то не получилось(, помогите пожалуйста
ДополненВсё это на Unity 2D
Для реализации описанного функционала вам потребуется использовать Unity UI и систему событий. Вот пример реализации на основе Canvas и Text:
1. Создайте Canvas в вашей сцене и разместите на нем Text (или другой элемент, который вы хотите использовать для отображения счетчика).
2. Создайте новый скрипт на C# и назовите его "CoinCounter".
3. Добавьте следующий код в ваш CoinCounter.cs:
```
using UnityEngine;
using UnityEngine.UI;
public class CoinCounter : MonoBehaviour
{
public Transform coinPrefab;
public Text coinCountText;
private int collectedCoins = 0;
void Start()
{
// Задаем начальное значение счетчика монет
coinCountText.text = "0 / 15";
}
public void CollectCoin(GameObject coin)
{
collectedCoins++;
coinCountText.text = collectedCoins.ToString() + " / 15";
// Проверяем, собрал ли игрок 15 монет
if (collectedCoins == 15)
{
using UnityEngine;
using UnityEngine.UI;
public class Player : MonoBehaviour
{
public Text scoreText; // ссылка на текстовый объект на вашей панели
private int score = 0; // текущий счет
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Coin")) // предполагается, что монетки имеют тег "Coin"
{
Destroy(other.gameObject); // уничтожить монетку
score++; // увеличить счет
scoreText.text = score + "/15"; // обновить текстовый объект
if (score >= 15)
{
// вызовите здесь свой метод
}
}
}
}