Menu
CoddyTech

Напишите метод

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

Ты уже некоторое время вызываешь методы: Debug.Log, PlaceCrate, а Unity вызывает твои Start() и Update(). Создавать собственные методы можно так же:

void Shout(string word)
{
    Debug.Log(word + "!");
}

void означает, что метод выполняет задачу и ничего не возвращает. Shout — его имя. В круглых скобках находятся его параметры: переменные, которым вызывающий код присваивает значения. Вызов Shout("Hello"); запускает метод, при этом word содержит "Hello", а Shout("Run"); запускает его снова, на этот раз со значением "Run".

Методу без параметров всё равно нужны пустые круглые скобки: void Jump(); его вызывают так: Jump();. Метод может принимать несколько параметров, разделённых запятыми: void PlaceTile(int column, int row).

challenge icon

Задание

Средне

Добавь параметр в PlaceLamp, чтобы каждый фонарь стоял на своём месте.

  1. Измени первую строку метода на void PlaceLamp(float x), а его позицию — на new Vector3(x, 1, 0).
  2. В Start() измени вызовы на PlaceLamp(-3);, PlaceLamp(0); и PlaceLamp(3);.

Нажми «Играть»: три фонаря стоят в ряд на расстоянии 3 друг от друга. Затем нажми «Проверить».

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

using UnityEngine;

public class LampRow : MonoBehaviour
{
    void Start()
    {
        PlaceLamp();
        PlaceLamp();
        PlaceLamp();
    }

    void PlaceLamp()
    {
        GameObject lamp = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
        lamp.name = "Lamp";
        lamp.transform.position = new Vector3(0, 1, 0);
        lamp.transform.localScale = new Vector3(0.3f, 1, 0.3f);
        lamp.GetComponent<Renderer>().material.color = new Color(0.3f, 0.3f, 0.35f);
    }
}

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

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