Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qusonlosmtodos?Iris3DGamesStudios
ac
m
ra
og
Pr
Back to Top
Buscar
n
i
Search...
Lo ltimo
Go
Opiniones
Cielo en Unity
mayo 3rd | by Yue
RigidBody en Unity
mayo 3rd | by Yue
Movimiento y Giro de un
GameObjetc
mayo 3rd | by Yue
Los mtodos especican que es lo que hace determinado objeto, por ejemplo podemos pensar en un
objeto coche, el cual tiene un mtodo que se dene como ArrancarMotor, el cual incluye tares como
ingresar la llave en la ranura de encendido, girarla y encender el coche, otro mtodo puede ser
Avanzar, el cual se estipula al presionar el pedal del coche, y que bajo ciertas circunstancias se
efecta o no ese mtodo, por ejemplo que el coche este en buen estado y que tenga combustible.
Las clases por defecto traen mtodos prefabricados, como son el mtodo Awake, Start o Update,
entre otros, estos mtodos estn escritos en el ncleo de Unity, as que para un ejemplo de un objeto
Coche, veamos el siguiente ejemplo.
C#
1
2
3
4
Creamos una clase denominada coche, la cual es publica, dentro de la misma se declaran los
mtodos respectivos, en este caso Encender Y Mover.
Declaracin de mtodos en C#
Los mtodos se declaran inicialmente especicando el tipo de datos que retornan, un mtodo que no
retorna nada, se declara con la palabra reservada void (Vacio), luego se establece el nombre del
mtodo y de forma opcional un mtodo entre parntesis puede tener o no parmetros, que son
variables que son de uso exclusivo dentro del mtodo, ya entre las llaves se dene el cuerpo del
mtodo. Algo que anotar es que los mtodos pueden ser o no pblicos, en este caso para que asea
accesibles desde otra clase los declaramos como pblicos, ya que si se declaran como Privados, solo
se tendrn acceso a los mismos nicamente desde la clase donde se han declarado.
C#
1
2
3
4
5
6
7
8
9
10
11
12
// Mtodo Encender.
Public Void EncenderMotor()
{
// Mtodo Mover.
Public void MoverCoche()
{
http://iris3dgames.mihostgratis.com.co/quesonlosmetodos/
1/7
18/12/2016
Qusonlosmtodos?Iris3DGamesStudios
13 }
14
15 }
Pero para hacer esto un poco mas dinmico usaremos dos variables privadas de tipo verdadero o
falso, que se declaran en la cabecera del cuerpo de la clase y los respectivos mtodos pasarn a un
estado verdadero si el coche esta encendido o en movimiento.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cocheEnMovimiento = true;
Pero en este caso para que el coche se mueva, se debe establecer una condicin lgica, que es
vericar que primero este encendido, esto lo hacemos mediante una sentencia condicional conocida
como IF.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Ahora bien en otro Script, el cual es asignado a un objeto de juego, creamos un objeto coche en base
de la clase anteriormente estipulada.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using UnityEngine;
using System.Collections;
void Start () {
}
void Update () {
}
Ya dentro de los mtodos Start encendemos el motor del Automvil al llamar el respectivo Mtodo.
C#
1
void Start () {
2
3 Automovil.EncenderCoche();
4 Debug.Log("Motor Encendido");
http://iris3dgames.mihostgratis.com.co/quesonlosmetodos/
2/7
18/12/2016
Qusonlosmtodos?Iris3DGamesStudios
5
6
7
}
Esto hasta el momento no deber tener ningn sentido, sin embargo esto es programacin orientada
a objetos y de forma abstracta usted en su mente debe visualizar ese coche que es creado, ahora
bien, puede crear varios coches de la clase Coche, con diferentes nombres donde esos objetos se
diferencian unos de otros por su ese nombre nico, por ejemplo CocheDeportivo, CocheTaxi etc,
donde todos van a tener esos dos mtodos de la clase que son construidos, el que enciende el motor
y el que mueve el auto.
Ahora Asigne ese Script GameCoche a un Objeto de Juego, y ver el resultado en la consola de
depuracin de Unity. Ahora bien si desea recuperar el dato de las variables desde la clase que crea el
objeto Automovil, simplemente cambie la denicin de dichas variables a publicas.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cocheEnMovimiento = true;
Y desde el Script GameCoche, puede recuperar ese dato por ejemplo de la siguiente manera.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using UnityEngine;
using System.Collections;
void Start () {
Debug.Log (Automovil.motorEncendido); // Coche apagado.
Automovil.EncenderMotor ();
Debug.Log ("Motor Encendido");
Debug.Log (Automovil.motorEncendido); // Coche Encendido.
}
void Update () {
Automovil.MoverCoche ();
Debug.Log ("Coche en Movimiento");
Debug.Log (Automovil.cocheEnMovimiento); // Coche en movimiento.
}
}
Ahora piense que este coche nunca se va a detener, as que sera bueno crear un Mtodo que detenga
el coche, dentro de la clase coche agregue la siguiente variable y el mtodo respectivo para detener el
coche.
C#
1
2
3
4
5
6
7
8
9
http://iris3dgames.mihostgratis.com.co/quesonlosmetodos/
3/7
18/12/2016
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Qusonlosmtodos?Iris3DGamesStudios
motorEncendido = true;
}
public void MoverCoche()
{
cocheEnMovimiento = true;
}
public void DetenerCoche(){
cocheFrena = true;
cocheEnMovmiento = false;
Ya dentro de el cuerpo de la clase que crea el objeto Automvil, puede detener el coche.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using UnityEngine;
using System.Collections;
void Start () {
Debug.Log (Automovil.motorEncendido); // Coche apagado.
Automovil.EncenderMotor ();
Debug.Log ("Motor Encendido");
Debug.Log (Automovil.motorEncendido); // Coche Encendido.
}
void Update () {
Automovil.MoverCoche ();
Debug.Log ("Coche en Movimiento");
Debug.Log (Automovil.cocheEnMovimiento); // Coche en movimiento.
// Detener Coche.
if (Input.GetKey (KeyCode.Space))
Automovil.DetenerCoche ();
}
}
El coche se detiene hasta que el usuario presiona la tecla espacio, donde es activado el mtodo
DetenerCoche, y las variables cambian dentro del mtodo, una para indicar que el coche ya no se
mueve y otra para indicar que se ha detenido.
using UnityEngine;
using System.Collections;
void Start()
{
Debug.Log (numero);
}
void Update()
{
Debug.Log (numero);
En este caso la variable declarada e iniciada como numero, es accesible desde cualquier otra funcin o
mtodos, sea personalizada o las predenidas en el motor Unity, como son Start o Update, sin
embargo si una variable se declara dentro de un mtodo, solo ser accesible su contenido dentro de
ese mtodo en que se declaro e inicio.
http://iris3dgames.mihostgratis.com.co/quesonlosmetodos/
4/7
18/12/2016
Qusonlosmtodos?Iris3DGamesStudios
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using UnityEngine;
using System.Collections;
void Start()
{
numero2 = 50;
Debug.Log (numero);
Debug.Log(numero2);
}
void Update()
{
Debug.Log (numero);
En este caso la variable declarada dentro de el mtodo Start, solo es posible acceder a su dato
contenido dentro de esta misma funcin y no se puede recuperar dentro del mtodo Update.
void Start(){
MostrarNumero(50);
Como se puede observar creamos un mtodo personalizado dentro de la clase, y el cual es usado
dentro del mtodo Start, donde se le pasa el parmetro, el dato que queremos que se muestre en el
depurador de Unity, as que al momento de usar este mtodo personalizado es obligatorio pasar ese
parmetro, o en tal caso en el momento de declarar la variable parmetro iniciarla con un dato
especico que en ausencia del mismo al usar la funcin es el que se muestra.
C#
1
2
3
4
5
6
7
8
9
10
11
void Start(){
void Start()
{
Suma(50,50); // Se realiza una Suma.
void Suma(numero1=0,numero2=0)
{
Debug.Log(numero1 + numero2);
}
Nuestro mtodo personalizado realiza una suma y muestra el resultado en el depurador de Unity, la
suma se realiza al recibir dos parmetros, que por ausencia de los mismos en el momento de usar la
funcin Suma, se establece un valor por defecto que es cero en esas variables.
http://iris3dgames.mihostgratis.com.co/quesonlosmetodos/
5/7
18/12/2016
Qusonlosmtodos?Iris3DGamesStudios
En este mtodo personalizado llamado RetornarMensaje, se estipula que lo que retorne la funcin al
ser usada, es un dato de tipo cadena de texto, pero es necesario desde el cuerpo de este mtodo usar
la palabra reservada Return ( Retornar ), para especicar lo que se se saca de este mtodo y tiene
que ser un tipo de dato cadena de texto.
C#
1
2
3
4
5
6
return Mensaje;
Ahora bien cuando usamos la funcin en este caso es obligatorio pasar el parmetro a la variable
interna de el mtodo.
C#
1
2
3
4
5
6
7
8
9
void Start()
{
string MensajeAMostrar;
string RetornarMensaje()
{
mensaje = "Hola";
return mensaje;
Debug.Log("Oro Hola"); // Esto jams se ejecuta.
}
Related Posts
Sentencias
Variables en C# Unity
http://iris3dgames.mihostgratis.com.co/quesonlosmetodos/
Qu es una clase en
6/7
18/12/2016
Qusonlosmtodos?Iris3DGamesStudios
Sentencias
Condicionales en C#
Variables en C# Unity
Qu es una clase en
SCript
C#?
0Comments
Sortby Oldest
Addacomment...
FacebookCommentsPlugin
http://iris3dgames.mihostgratis.com.co/quesonlosmetodos/
7/7