Menu
CoddyTech

Escreva um método

Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 39 de 85.

Você vem chamando métodos há algum tempo: Debug.Log, PlaceCrate, e o Unity chama seu Start() e Update(). Escrever os seus próprios funciona da mesma forma:

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

void indica que o método executa uma tarefa e não retorna nada. Shout é o nome dele. Dentro dos parênteses estão seus parâmetros: variáveis que quem chama o método preenche. Shout("Hello"); executa o método com word contendo "Hello", e Shout("Run"); o executa novamente com "Run".

Um método sem parâmetros ainda precisa dos parênteses vazios: void Jump(), chamado como Jump();. Um método pode receber vários parâmetros, separados por vírgulas: void PlaceTile(int column, int row).

challenge icon

Desafio

Médio

Dê um parâmetro a PlaceLamp para que cada lâmpada fique em seu próprio lugar.

  1. Altere a primeira linha do método para void PlaceLamp(float x) e sua posição para new Vector3(x, 1, 0).
  2. Em Start(), altere as chamadas para PlaceLamp(-3);, PlaceLamp(0); e PlaceLamp(3);.

Pressione “Jogar”: três lâmpadas ficam alinhadas, a 3 unidades de distância umas das outras. Depois, pressione “Verificar”.

Experimente você mesmo

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);
    }
}

Todas as lições de Fundamentos de Scripting no Unity

Pratique por conta própria: Playground de Unity