Menu
CoddyTech

Магнит для монет

Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 65 из 67.

Игрок ходит по полю, на котором лежат пять монет, и несёт магнит. Монета, попавшая в радиус действия магнита, летит к игроку, а монета, достигшая игрока, собирается и засчитывается. Монеты, находящиеся дальше, остаются на месте, пока игрок не подойдёт к ним.

Напиши всю игру в одном скрипте Magnet, прикреплённом к игроку.

challenge icon

Задание

Сложно

Напиши скрипт Magnet для Player. В Inspector задай speed (5), range (3) и pullSpeed (8).

  • Пока нажата клавиша со стрелкой, игрок перемещается со скоростью speed единиц в секунду: влево и вправо вдоль оси x, вверх и вниз вдоль оси z.
  • Монеты — это объекты с тегом Coin.
  • Каждый кадр каждая монета, находящаяся от игрока на расстоянии меньше range, движется к нему со скоростью pullSpeed единиц в секунду. Монеты, находящиеся дальше, не двигаются.
  • Монета, находящаяся от игрока на расстоянии меньше 0.5, собирается: уничтожь её, прибавь 1 к счётчику и выведи значение счётчика в журнал в формате Coins: 1, Coins: 2 и так далее.

Нажми Play и собери монеты, затем нажми Check.

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

using System.Collections.Generic;
using UnityEngine;

public class Magnet : MonoBehaviour
{
    [SerializeField] private float speed = 5f;
    [SerializeField] private float range = 3f;
    [SerializeField] private float pullSpeed = 8f;

    void Start()
    {
    }

    void Update()
    {
    }
}
quiz iconПроверьте себя

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

Все уроки раздела Основы скриптинга в Unity