sábado, 25 de julio de 2015

Funciones en Unity

En este ejemplo realizaremos funciones en unity que no son mas que un grupo de instrucciones con un objetivo particular y que se ejecuta al ser llamada desde otra funcion o procedimiento segun su definicion.

Basicamente las funciones pueden recibir datos desde fuera al ser llamadas a traves de los parametros y deben de entregar un resultado.

Ya hablando de terminos mas generales las funciones deben tener un nombre unico, un tipo de dato de resultado y una lista de parametros si la funcion asi lo necesitase.

Pues bien para este ejemplo crearemos un script que sera nuestro inventario de armas y crearemos una funcion que nos ayude a buscar dentro de ese inventario de armas para ello seguiremos los siguientes pasos.

1.- Crearemos un GameObject vacio y lo colocaremos en nuestro espacio 3D este nos servira para que en el coloquemos nuestro script.

2.- Crearemos un C# script al cual llamaremos InventarioArmas y le daremos doble clic para iniciar el monodevelop.

3.- Insertaremos el siguiente codigo.

InventarioArma.cs

using UnityEngine;
using System.Collections;

public class InventarioArmas : MonoBehaviour {

 //Creamos una variable entera donde definiremos el numero de arma
 //que corresponde
 public int arma = 0;

 //variable para el nombre del arma
 public string nombreArma;
 
 void Start () 
 {
 
 }

 void Update ()
 {
  //Realizaremos una condicion que cuando el jugador le presione
  //la barra espaciadora escoja el arma.
  if(Input.GetKeyUp("space"))
  {
   //mandamos a llamar a nuestra funcion
   BuscarArma();

   //Cada vez que le de la barra mostrara ademas el mensaje de lo encontrado
   MostrarMensaje();
  }
 }

 //Esta es nuestra funcion para buscar un arma en el inventario
 void BuscarArma()
 {
  //Escogeremos un arma de nuestro inventario de manera aleatoria.
  arma = Random.Range(1, 7); //se manejara un rango de 1 a 5
  
  switch( arma )
  {
   //Se manejaran varios tipos de armas dependiendo el numero que toque de manera aleatoria
  case 1:
   nombreArma = "Espada";
   break;
  case 2:
   nombreArma = "Lanza";
   break;
  case 3:
   nombreArma = "Acha";
   break;
  case 4:
   nombreArma = "Escudo";
   break;
  default:
   print ("No encontraste nada");
   nombreArma = "";
   break;
  }
 }

 //Creamos otra funcion donde te mostrara un mensaje
 void MostrarMensaje()
 {
  //colocaremos una condicion de que cuando el numero de arma
  //sea menor a 5 que coloque el nombre del arma
  if(arma < 5)
  {
   print ("Tu encontraste un(a) " + nombreArma);
  }
 }
} 


4.- Asignamos el script y se lo pasamos al gameobject, le daremos reproducir y en el espacio de color azul le daremos la barra espaciadora para ver las armas que vamos encontrando.



No hay comentarios:

Publicar un comentario