Menu
CoddyTech

Escribir un método

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 39 de 85.

Llevas un tiempo llamando a métodos: Debug.Log, PlaceCrate, y Unity llama a tus Start() y Update(). Escribir los tuyos funciona de la misma manera:

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

void indica que el método realiza una tarea y no devuelve nada. Shout es su nombre. Dentro de los paréntesis están sus parámetros: variables que quien llama al método completa. Shout("Hello"); ejecuta el método con word que contiene "Hello", y Shout("Run"); lo ejecuta de nuevo con "Run".

Un método sin parámetros sigue necesitando sus paréntesis vacíos: void Jump(), que se llama como Jump();. Un método puede aceptar varios parámetros, separados por comas: void PlaceTile(int column, int row).

challenge icon

Desafío

Intermedio

Asigna un parámetro a PlaceLamp para que cada lámpara esté en su propio lugar.

  1. Cambia la primera línea del método a void PlaceLamp(float x) y su posición a new Vector3(x, 1, 0).
  2. En Start(), cambia las llamadas a PlaceLamp(-3);, PlaceLamp(0); y PlaceLamp(3);.

Pulsa «Jugar»: tres lámparas quedan en fila, separadas por 3. Después, pulsa «Comprobar».

Pruébalo tú mismo

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 las lecciones de Fundamentos de scripting en Unity

Practica por tu cuenta: Playground de Unity