El post que buscas se encuentra eliminado, pero este también te puede interesar

Mega tutorial de unity 3D Parte1

Variables

En ocasiones el concepto de variables puede ser difícil de entender, así que en mi opinión dejemonos de conceptos y explicaciones técnicas y vamos a explicar que son las variables de una forma más sencilla.

Una variable simplemente es un dato, puede ser un número, como la munición que tienes en un juego de disparos, o puede ser una textura, como la de una pared de ladrillos, puede ser un objeto del juego, como una caja, una casa, etc. Una variable no es más que una cosa del juego que se incluye en un script, puede ser un sonido, un objeto, una textura, un valor...

Creo que esto ha sido una explicación bastante sencilla pero si no te ha quedado claro ahora explicaré los tipos de variables.

1.1 Tipos de variables

1 - Int

Una variable Int (Integer) es simplemente un valor entero, es decir, número sin decimales.

Ej: -3, -2, -1, 0, 1, 2, 3, 4

¿Para qué se usa? Pues su uso puede ser muy diverso, pero lo más común suele ser para valores del juego como la munición, el dinero, etc.

¿Por qué estos valores són numeros sin decimales?

Bueno, porque no puedes tener 30.74 balas para disparar, ni 21.36 monedas para gastar. Hay valores en el juego que es mejor gastar números enteros, se podrían gastar igualmente números con decimales, pero si no quieres correr el riesgo de que a un jugador le aparezcan 2.3 balas, mejor una int.

Mega tutorial de unity 3D Parte1

2 - Float

Bueno, con esta terminaré rápido dado que es lo mismo que la anterior pero con decimales. Ej: -1.243, 0.535, 7.368

Unity

3 - Boolean

Una boolean es una variable que solo puede tener dos valores, llámalos como quieras: 0 y 1 / verdadero o falso / esto o aquello

En la programación se escribe que es true o false. (verdadero o falso)

Se suelen usar para poner condiciones. Ejemplo, en un juego de disparos quieres disparar solo si tienes balas (lógico), si no tienes balas no. Pues creas una variable BOOLEAN que se llame... "poder_disparar".

Primero: si "poder_disparar" es verdad ------ disparas

Luego: si "munición" es mayor que 0 -------- "poder_disparar" es verdad
si "munición" es 0 o menos ------------- "poder_disparar" es mentira

Te lo dejo en script si no te ha quedado claro:

tutorial javascript

4 - Double

Estas no las gastaremos. Las double son como las int pero aceptan valores más grandes, explico: las int, solo llegan hasta 32767.

Las int van de -32767 a 32767:


-32767 ------------------------------ 0 ------------------------------ 32767

si a una variable int con valor 32767 (valor máximo) le sumas +1 se va al otro extremo, es decir, vuelve a -32767.

Por eso las variables double sirven para valores muy grandes, pero no creo que las usemos.

VARIABLES DE UNITY

A partir de aquí nombraremos algunas de las variables más usadas de la librería de unity (eso quiere decir que estas variables solo sirven si programas en unity)

1 - GameObject

Pues esto es simplemente un objeto, cualquier cosa que tengas en la escena: un cubo, una esfera, la cámara, el player, un modelo, un sonido, etc.

Puede ser un objeto de la escena o bien un prefab que tengas en project.

Normalmente se asignan en el inspector, pero algunas veces puedes asignarlas desde el script.
unity3d


2 – Vector

De estos ya hablaremos más tarde que son más complicados.

var posi : Vector3

3 – Texture2D

Son como el GameObject pero este es una Textura, no un objeto.

tutorial unity 3d

Y bueno, aunque hay más estas son las que vamos a usar principalmente. Si me dejo alguna ya la explicaré más tarde.


FUNCIONES

Las funciones son los bloques dentro de los cuales están los comandos. Todo efecto que hace un script (que un objeto se mueva, que te baje la vida, etc) debe estar escrito dentro de un bloque, estos bloques son las funciones.

Hay varios tipos de funciones, y cada una funciona de una manera distinta, que ahora vamos a explicar.


2.2 Tipos de funciones



Function Start:

La función start se ejecuta cuando empieza el nivel en el que estás. Cada vez que entras en una pantalla se ejecuta el comando (el script) que haya dentro.

unity3d tutorial





Function Update



La función Update se ejecuta todo el tiempo, a cada momento del juego. Está es la función más usada, aunque su código suele llevar condiciones, ejemplo:



solo si pulsas el botón espacio saltas, solo si tienes balas disparas...



¿Por qué? Muy sencillo, si en Update escribes un código que sirva para disparar, por ejemplo, y no le pones la condición de que eso pase cuando le das al botón izquierdo del ratón, estarías siempre disparando, sin pulsar nada dispararías siempre.



Aun así, algunas cosas como las asignaciones de valores se hacen sin condiciones, por ejemplo, si tienes en la esquina inferior izquierda un medidor de vida (100 HP) quieres que ese 100 cambie si te baja la vida, si te hacen daño y tu vida baja a 56, quieres que en pantalla también ponga 56, pues pondrías un código sin condiciones, en el que dices que en cada momento del juego el valor que te pone en pantalla sea igual a la variable vida.



Para entenderlo mejor te dejo el código:



Mega tutorial de unity 3D Parte1



El segundo código lo que hace es que un texto que aparece en pantalla represente la vida. Es un texto que si la vida es 100, muestra 100, si es 50, muestra 50. Esto ya lo explicaré en el apartado del GUI (Apartado 7)

Esto tiene que ser cierto durante todo el juego, es decir, si te baja la vida de 100 a 72, el texto en la pantalla tiene que cambiar de 100 a 72. El texto tiene que ser en todo momento igual a la vida. Para eso debes incluirlo en Update.

Si lo incluyeras en Start, el valor no cambiaría.

Creo que esto es fácil de entender ¿no? Quizás me excedo con la explicación pero es que no quiero que luego aparezca el típico que dice "no me he enterado de nada!" ... Continuemos!


Function OnTrigger

Esta es una función muy interesante. Esta se ejecuta cuando un objeto entra dentro de otro. Este script lo debes asignar al objeto en el cuál se entra.

Por ejemplo, ¿sabes cuando en los juegos vas caminando tan tranquilamente, y de golpe te sale un vídeo, o un texto, o un diálogo o lo que sea, al entrar en una habitación, o simplemente caminando? Pues esto, en la mayoría de los casos suele ser un cubo invisible (una caja enorme que no puedes ver) y que cuando entras en ella se ejecuta el script.

Metes el cubo en la entrada a una sala, lo haces invisible, haces que sea atravesable (en el inspector, en el Box Collider le das a IsTrigger) y luego le metes un script con Function OnTrigger.

Pero hay varios tipos de OnTrigger:

OnTriggerEnter: Cunado entras en el objeto.

OnTriggerStay: Mientras estás en el objeto.

OnTriggerExit: Cuando sales del objeto.

Si te fijas el OnTriggerEnter / Exit sería como la función Start, solo se ejecuta una vez, mientras que OnTriggerStay sería como Update, se ejecuta todo el rato (que estés dentro del objeto)

Un aviso: si quieres que el script se ejecute cuando el jugador entra dentro del cubo, eso debes especificarlo, porque el script se ejecuta cuando detecta que algo entra en el cubo, pero en el cubo puede entrar cualquier cosa: un enemigo o simplemente un trozo de la pared, o el suelo. Por eso dentro de la función debes poner como condición que sea el player el que entra. Te dejo el ejemplo:

Unity

Habrás visto que esta vez entre los paréntesis pone algo (other : Collider), other es el objeto que choca con el que contiene el script. Si te da igual qué objeto choque no hace falta que pongas nada, pero como en este caso quieres especificar que sea el jugador el que entre en el cubo, debes ponerlo.

Así ves como luego ponemos como condición que el nombre del otro (other.name) sea "First Person Controller", eso en caso de que uses el First Person Controller, sino aquí iría el nombre que le pongas al player.

IMPORTANTE: para que esta función funcione correctamente, ambos objetos deben tener un collider, y como mínimo uno de los dos debe tener un rigidbody puesto, si no, no detecta la collisión.

0 comentarios - Mega tutorial de unity 3D Parte1