SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Similar a Scripting_CheatSheet_4.pptx

Manual+programacion+arduino
Manual+programacion+arduinoManual+programacion+arduino
Manual+programacion+arduino
jjjss
 

Similar a 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
 
Manualprogramacionarduino
ManualprogramacionarduinoManualprogramacionarduino
Manualprogramacionarduino
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
 
Manual programación arduino
Manual programación arduinoManual programación 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 programacionarduino
Manual programacionarduinoManual programacionarduino
Manual programacionarduino
 
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
 

Más de 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
 

Último

TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
UPSE
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
UPSE
 

Último (9)

CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdf
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocio
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocio
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
 

Scripting_CheatSheet_4.pptx