Menu
CoddyTech

Ты проиграл

Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 34 из 71.

На этом шаге завершается создание Coin Rush: мяч, на который действуют силы, монеты, служащие триггерами, счёт, который ведёт один скрипт, и таймер, завершающий игру.

challenge icon

Задание

Средне

Сначала сообщи игроку, когда закончится время.

  1. Найди строку, которая выводит сообщение Time's up!, в методе Update() файла Ball.cs.
  2. Сразу после неё выведи сообщение You lose!.

Нажми «Играть» и дождись, пока время закончится: в консоли появится Time's up! Score: 0, затем You lose!. После этого нажми «Проверить».

Попробуйте сами

using UnityEngine;

public class Ball : MonoBehaviour
{
    public float force = 10f;
    public int score;
    public float timeLimit = 60f;
    public float timeLeft;
    public int target = 10;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        timeLeft = timeLimit;
    }

    void Update()
    {
        if (IsPlaying())
        {
            timeLeft -= Time.deltaTime;
            if (timeLeft <= 0f)
            {
                timeLeft = 0f;
                Debug.Log("Time's up! Score: " + score);
            }
        }
    }

    void FixedUpdate()
    {
        if (IsPlaying())
        {
            float x = Input.GetAxis("Horizontal");
            float z = Input.GetAxis("Vertical");
            rb.AddForce(new Vector3(x, 0f, z) * force);
        }
    }

    public void AddScore(int points)
    {
        if (!IsPlaying())
        {
            return;
        }
        score += points;
        Debug.Log("Score: " + score);
        if (score >= target)
        {
            Debug.Log("You win!");
        }
    }

    bool IsPlaying()
    {
        return timeLeft > 0f && score < target;
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Физика и игровой процесс

Потренируйтесь самостоятельно: Песочница Unity