En este tema, aprenderás cómo crear scripts en Unity utilizando C# y cómo adjuntarlos a los objetos de juego. Los scripts son fundamentales para definir el comportamiento de los objetos en tu juego. Vamos a desglosar este proceso en pasos claros y fáciles de seguir.
- Creación de un Script en Unity
Paso 1: Crear un Script
- Abrir Unity y tu Proyecto: Asegúrate de tener tu proyecto abierto en Unity.
- Navegar a la Carpeta de Scripts: En la ventana del Proyecto, navega a la carpeta donde deseas guardar tu script. Si no tienes una carpeta específica para scripts, es una buena práctica crear una nueva carpeta llamada "Scripts".
- Crear el Script:
- Haz clic derecho en la carpeta de Scripts.
- Selecciona
Create
>C# Script
. - Nombra tu script, por ejemplo,
PlayerController
.
Paso 2: Editar el Script
- Abrir el Script: Haz doble clic en el script que acabas de crear. Esto abrirá tu editor de código (por defecto, Visual Studio).
- Estructura Básica del Script:
using UnityEngine; public class PlayerController : MonoBehaviour { // Start is called before the first frame update void Start() { // Código de inicialización } // Update is called once per frame void Update() { // Código que se ejecuta en cada frame } }
using UnityEngine;
: Importa el espacio de nombres de Unity.public class PlayerController : MonoBehaviour
: Define una clase pública llamadaPlayerController
que hereda deMonoBehaviour
.void Start()
: Método que se llama una vez al inicio.void Update()
: Método que se llama una vez por frame.
- Adjunto de Scripts a Objetos de Juego
Paso 1: Seleccionar el Objeto de Juego
- Seleccionar el Objeto: En la ventana de la Jerarquía, selecciona el objeto de juego al que deseas adjuntar el script. Por ejemplo, un objeto llamado
Player
.
Paso 2: Adjuntar el Script
- Método de Arrastrar y Soltar:
- Arrastra el script desde la ventana del Proyecto y suéltalo sobre el objeto de juego en la ventana de la Jerarquía o en el Inspector.
- Método del Inspector:
- Con el objeto de juego seleccionado, ve al Inspector.
- Haz clic en
Add Component
. - Escribe el nombre del script (por ejemplo,
PlayerController
) y selecciónalo de la lista.
Paso 3: Verificar el Adjunto
- Verificar en el Inspector: Una vez adjuntado, deberías ver el script como un componente en el Inspector del objeto de juego.
- Ejemplo Práctico: Movimiento del Jugador
Vamos a crear un script simple para mover un objeto de juego en respuesta a las entradas del usuario.
Paso 1: Crear el Script de Movimiento
- Crear el Script: Sigue los pasos anteriores para crear un nuevo script llamado
PlayerMovement
. - Editar el Script:
using UnityEngine; public class PlayerMovement : MonoBehaviour { public float speed = 5.0f; // Update is called once per frame void Update() { float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); transform.Translate(movement * speed * Time.deltaTime); } }
public float speed = 5.0f;
: Define una variable pública para la velocidad del jugador.Input.GetAxis("Horizontal")
yInput.GetAxis("Vertical")
: Captura las entradas del teclado.Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
: Crea un vector de movimiento.transform.Translate(movement * speed * Time.deltaTime);
: Mueve el objeto de juego.
Paso 2: Adjuntar el Script al Objeto de Juego
- Seleccionar el Objeto de Juego: Selecciona el objeto de juego
Player
. - Adjuntar el Script: Usa uno de los métodos mencionados anteriormente para adjuntar el script
PlayerMovement
.
Paso 3: Probar el Movimiento
- Ejecutar el Juego: Haz clic en el botón de
Play
en la parte superior de la ventana de Unity. - Mover el Jugador: Usa las teclas de flecha o
WASD
para mover el objeto de juegoPlayer
.
Ejercicio Práctico
Ejercicio 1: Rotación del Jugador
Crea un script que permita rotar el objeto de juego Player
usando las teclas de flecha izquierda y derecha.
Solución:
- Crear el Script: Crea un nuevo script llamado
PlayerRotation
. - Editar el Script:
using UnityEngine; public class PlayerRotation : MonoBehaviour { public float rotationSpeed = 100.0f; // Update is called once per frame void Update() { float rotation = Input.GetAxis("Horizontal") * rotationSpeed * Time.deltaTime; transform.Rotate(0, rotation, 0); } }
- Adjuntar el Script: Adjunta el script
PlayerRotation
al objeto de juegoPlayer
. - Probar la Rotación: Ejecuta el juego y usa las teclas de flecha izquierda y derecha para rotar el objeto de juego
Player
.
Conclusión
En esta lección, has aprendido cómo crear y adjuntar scripts en Unity. Los scripts son esenciales para definir el comportamiento de los objetos de juego y permiten una gran flexibilidad en el desarrollo de juegos. Practica creando y adjuntando diferentes scripts para familiarizarte con el proceso y experimentar con diferentes comportamientos. En la próxima lección, profundizaremos en el uso de MonoBehaviour
y cómo aprovechar sus métodos para controlar el ciclo de vida de los objetos de juego.
Curso de Unity
Módulo 1: Introducción a Unity
- Introducción a Unity e Instalación
- Descripción General de la Interfaz de Unity
- Creando Tu Primer Proyecto
- Objetos de Juego Básicos y Componentes
Módulo 2: Programación Básica en Unity
- Introducción a C# para Unity
- Creación y Adjunto de Scripts
- Entendiendo MonoBehaviour
- Manejo Básico de Entradas
Módulo 3: Trabajando con Activos
- Importación y Gestión de Activos
- Uso de la Tienda de Activos
- Creación y Uso de Prefabs
- Animación Básica
Módulo 4: Física y Colisiones
- Introducción a la Física en Unity
- Cuerpos Rígidos y Colisionadores
- Detección Básica de Colisiones
- Uso de Materiales Físicos
Módulo 5: Interfaz de Usuario (UI)
- Introducción a la UI de Unity
- Creación y Personalización de Elementos UI
- Manejo de Eventos UI
- Creación de Menús y HUDs
Módulo 6: Audio en Unity
- Introducción al Audio en Unity
- Importación y Uso de Clips de Audio
- Programación Básica de Audio
- Audio 3D y Sonido Espacial
Módulo 7: Programación Avanzada
- Conceptos Avanzados de C# para Unity
- Corutinas y Programación Asíncrona
- Objetos Scriptables
- Editores Personalizados y Gizmos
Módulo 8: Física Avanzada e IA
- Técnicas Avanzadas de Física
- Búsqueda de Caminos y Navegación
- Programación Básica de IA
- Máquinas de Estado y Árboles de Comportamiento
Módulo 9: Optimización y Rendimiento
- Técnicas de Perfilado y Optimización
- Gestión de Memoria
- Reducción de Llamadas de Dibujo
- Optimización de Física y Colisiones