SlideShare a Scribd company logo
1 of 44
Scripting para Unity3D
CheatSheet #4
...o sea, “cheto de mierda nº4”
TOC
● Funciones con “RETURN”.
● Operador MODULO %.
● Co-Routines.
● Condicionales “IF”.
funciones “RETURN”
funciones “Return”
● Sólo son funciones no-VOID.
● SIEMPRE deben devolver un dato.
● Pueden ser asignadas a variables.(*)
● Se acercan a la filosofía POO.
● Ahorran tiempo y líneas de código.
funciones “Return”
Public tipodato SumaPaco()
{
//código…
Return valor;
}
OJO!!!
¡EL VALOR DEBE SER
DEL MISMO TIPO DE
DATO!
“SIEMPRE DEBEN terminar con RETURN...”.
IMPORTANTE
funciones “Return”
funciones “Return”
DEVOLVEMOS “TRUE” ó “FALSE”
¿Para qué me sirve?
● “Mírame si el enemigo vive o muere…”.
● “Dame el enemigo más cercano…”.
● “Dame una lista de todos los ítems del nivel…”.
● “¿Cuál es mi Transform.Position actual?”.
“El valor devuelto debe ser del mismo tipo”.
RECUERDA
funciones “Return”
Public string FillHP()
{
float x = 255f;
Return x;
}
¡NO COINCIDE!
ERROR!!!
Public float FillHP()
{
float x = 255f;
Return x;
}
¡BIEN ESCRITO!
¡COINCIDE!
“Aunque hayan IF’s en tu función, SIEMPRE hay
que poner un RETURN al final”.
IMPORTANTE
funciones “Return”
¡¡¡MAL!!!
¡¡¡HAY CASOS NO
PREVISTOS!!!
PODRÍA NO LLEGAR A
ENTRAR EN LOS IFs...
CASO #1
CASO #2
funciones “Return”
¡BIEN!
EN TODOS LOS CASOS
DEVOLVEMOS EL VALOR.
DEVOLVEMOS VALOR
AUNQUE NO ENTRE EN
LOS IFs...
CASO #1
CASO #2
POR DEFECTO
Módulo %
Módulo %
● Operador matemático abreviado (“i++”, “i--”)
● “Dame el RESTO de una división de 2 números.
● Repito, no da la división, da el RESTO.
● Cómo mínimo, hace la operación 1 vez.
Módulo %
variable = valor1 % valor2;
resto = Resto de (a/b);
¿Cómo Funciona por Dentro?
4
0
2
6
1
3
7
5
¿Para qué me sirve?
● Recorrer circularmente una Lista/Array.
● Crear un “Cronómetro” fácilmente.
● Dibujar barra de progreso de Experiencia/Turnos...
● “Convertir segundos a minutos…”.
● Saber si un número es par ó impar.
“Si X %2 es igual a 0, entonces X es PAR”.
Co-Routines
Co-Routines
● aka “Llamar a sub-rutinas...”.
● aka “Eso de los IEnumerator…”.
● Funciones que se ejecutan en otro hilo de CPU.
● NO es multi-core, NO es asíncrono.
Co-Routines
private IEnumerator Paco()
{
//código…
}
Co-Routines
“La instrucción yield return nos permite
indicar cuándo se ejecutará el código”.
¿Para qué me sirve?
● “Haz un fundido de pantalla de este Canvas…”.
● “Espera 3 seg. y entonces mueve el GameObject”.
● “Haz ésto, y luego eso, y luego aquello…”.
● “Mientras haces eso, haz esto otro de paso…”.
● Tareas repetitivas o poco importantes.
“Podemos encadenar en secuencia CoRoutines
con un Yield Return Startcoroutine...”.
Co-Routines
private IEnumerator Paco2()
{
yield return
StartCoRoutine(“Paco1”);
//y ahora lo que haga Paco2…
//código...
}
“El uso incorrecto dentro del Update() consume
bastantes recursos CPU y RAM”.
IMPORTANTE
¿Más info?
https://www.alanzucconi.com/2017/02/15
/nested-coroutines-in-unity/
Condicionales “IF”
Condicionales IF
● Pregunta o “evalúa” situaciones en un script.
● Compara tamaños entre valores.
● Nos da SIEMPRE una respuesta directa (SI/NO).
● Organiza nuestro código.
● Hace la “Lógica” de la Programación.
Condicionales IF
if(condición)
{
//código...
}
Condiciones
<
>
==
!=
“A es menor que B”
“A es mayor que B”
“A es igual que B”
“A no es igual que B”
Jemplos
<
>
==
!=
if(vidas < 1)
if(speed > 0.9f)
if(nombre == “paco”)
if(obj != null)
¿Cómo recordarlas?
¿Para qué me sirve?
● “SI la vida del Player es menor que 1…”.
● “SI pulso el botón de Saltar…”.
● “SI no quedan enemigos en el mapa…”.
● “SI el nombre del Player es PACO…”.
“Podemos ofrecer una alternativa poniendo
un ELSE al final del IF”.
Condicionales IF
if(condición)
{
//código #SI...
}
else
{
//código #NO...
}
“Encadenar y/o anidar múltiples IF hace tu
código más lento y difícil de leer”.
IMPORTANTE
Condicionales IF
if(condición1 && condición2)
{
//código…
if(condición_extra)
{
//código…
}
}
¡LENTO!!!
Condicionales IF
var condA =(condición1 && condición2);
if(condA && condición_extra)
{
//código…
}
MEJOR…
“Si puedes convertir un While en un IF, te
ahorrarás sustos”.
WHO AM I?
MÁS INFORMACIÓN:
pioj#0424
t.me/unity3dspain
@pioj

More Related Content

Similar to Scripting_CheatSheet_4.pptx

Taller de Introducción a Scripting con gvSIG
Taller de Introducción a Scripting con gvSIGTaller de Introducción a Scripting con gvSIG
Taller de Introducción a Scripting con gvSIGÓscar Martínez Olmos
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduinogiselaromero20
 
Manual de Programacion Arduino.
Manual de Programacion Arduino.Manual de Programacion Arduino.
Manual de Programacion Arduino.PROD LARD
 
Manual programacion-arduino
Manual programacion-arduinoManual programacion-arduino
Manual programacion-arduinoElifio Miranda
 
Manual+programacion+arduino 2
Manual+programacion+arduino 2Manual+programacion+arduino 2
Manual+programacion+arduino 2HugoBaldasso
 
Curso iniciacion arduino
Curso iniciacion arduinoCurso iniciacion arduino
Curso iniciacion arduinoGustavo JM
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduinoCRACMA ACU
 
Manual de Programación Arduino
Manual de Programación ArduinoManual de Programación Arduino
Manual de Programación ArduinoSergio Barrios
 
Manual programacionarduino
Manual programacionarduinoManual programacionarduino
Manual programacionarduinoGuillermo Tascon
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduinoMc Sizo
 
Manual programacion-arduino
Manual programacion-arduinoManual programacion-arduino
Manual programacion-arduinoitzel alejandro
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduinoUriel Alzate
 

Similar to Scripting_CheatSheet_4.pptx (20)

Taller de Introducción a Scripting con gvSIG
Taller de Introducción a Scripting con gvSIGTaller de Introducción a Scripting con gvSIG
Taller de Introducción a Scripting con gvSIG
 
Arduino: Manual programación Arduino
Arduino: Manual programación ArduinoArduino: Manual programación Arduino
Arduino: Manual programación Arduino
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
 
Manual de Programacion Arduino.
Manual de Programacion Arduino.Manual de Programacion Arduino.
Manual de Programacion Arduino.
 
Manual programacion-arduino
Manual programacion-arduinoManual programacion-arduino
Manual programacion-arduino
 
Manual+programacion+arduino 2
Manual+programacion+arduino 2Manual+programacion+arduino 2
Manual+programacion+arduino 2
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 
Curso iniciacion arduino
Curso iniciacion arduinoCurso iniciacion arduino
Curso iniciacion arduino
 
programacion arduino
programacion arduinoprogramacion arduino
programacion arduino
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 
Manual de Programación Arduino
Manual de Programación ArduinoManual de Programación Arduino
Manual de Programación Arduino
 
Manual programacionarduino
Manual programacionarduinoManual programacionarduino
Manual programacionarduino
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 
Manual programacionarduino
Manual programacionarduinoManual programacionarduino
Manual programacionarduino
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 
Manual programacion-arduino
Manual programacion-arduinoManual programacion-arduino
Manual programacion-arduino
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 
Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
 

More from Evolis3D

Windows 10 Portable en USB.pdf
Windows 10 Portable en USB.pdfWindows 10 Portable en USB.pdf
Windows 10 Portable en USB.pdfEvolis3D
 
¡Crea juegos de Unity para _consolas_!.pdf
¡Crea juegos de Unity para _consolas_!.pdf¡Crea juegos de Unity para _consolas_!.pdf
¡Crea juegos de Unity para _consolas_!.pdfEvolis3D
 
Arbol_evolutivo_para_Desarrollo_de_Videojuegos.pptx
Arbol_evolutivo_para_Desarrollo_de_Videojuegos.pptxArbol_evolutivo_para_Desarrollo_de_Videojuegos.pptx
Arbol_evolutivo_para_Desarrollo_de_Videojuegos.pptxEvolis3D
 
Scripting_CheatSheet_3.pptx
Scripting_CheatSheet_3.pptxScripting_CheatSheet_3.pptx
Scripting_CheatSheet_3.pptxEvolis3D
 
Unity3D_PARA_MONOS.pptx
Unity3D_PARA_MONOS.pptxUnity3D_PARA_MONOS.pptx
Unity3D_PARA_MONOS.pptxEvolis3D
 
Scripting_CheatSheet_2.pptx
Scripting_CheatSheet_2.pptxScripting_CheatSheet_2.pptx
Scripting_CheatSheet_2.pptxEvolis3D
 

More from Evolis3D (6)

Windows 10 Portable en USB.pdf
Windows 10 Portable en USB.pdfWindows 10 Portable en USB.pdf
Windows 10 Portable en USB.pdf
 
¡Crea juegos de Unity para _consolas_!.pdf
¡Crea juegos de Unity para _consolas_!.pdf¡Crea juegos de Unity para _consolas_!.pdf
¡Crea juegos de Unity para _consolas_!.pdf
 
Arbol_evolutivo_para_Desarrollo_de_Videojuegos.pptx
Arbol_evolutivo_para_Desarrollo_de_Videojuegos.pptxArbol_evolutivo_para_Desarrollo_de_Videojuegos.pptx
Arbol_evolutivo_para_Desarrollo_de_Videojuegos.pptx
 
Scripting_CheatSheet_3.pptx
Scripting_CheatSheet_3.pptxScripting_CheatSheet_3.pptx
Scripting_CheatSheet_3.pptx
 
Unity3D_PARA_MONOS.pptx
Unity3D_PARA_MONOS.pptxUnity3D_PARA_MONOS.pptx
Unity3D_PARA_MONOS.pptx
 
Scripting_CheatSheet_2.pptx
Scripting_CheatSheet_2.pptxScripting_CheatSheet_2.pptx
Scripting_CheatSheet_2.pptx
 

Scripting_CheatSheet_4.pptx