Está en la página 1de 32

MANEJO DE

SCRIPTS
Computación Grafica
ESTRUCTURA
DE UNITY
Autor: Gov3dstudio
 un lenguaje de scripting es un lenguaje de programación. El
código es interpretado en tiempo de ejecución por otro
programa en lugar de ser compilado por el procesador de la
computadora. LENGUAJE DE
SCRIPTING
¿QUÉ ES EL SCRIPTING EN
UNITY?
 El scripting les indica a nuestros GameObjects
cómo comportarse; son los scripts y los
componentes añadidos a los GameObjects, y cómo
interactúan entre sí, lo que crea tu jugabilidad.

 en Unity no necesitas crear el código que ejecuta la


aplicación, ya que Unity lo hace por ti. En lugar de
ello, te concentras en la jugabilidad en tus scripts.

 Unity ejecuta un bucle enorme. Lee todos los datos


que hay en la escena de un juego. Por ejemplo, lee
las luces, las mallas, cuáles son los
comportamientos, y procesa toda esta información
para ti.
¿QUÉ LENGUAJES PUEDES
USAR EN UNITY?
 Un script debe estar vinculado con un  El lenguaje que se usa en Unity se
GameObject en la escena para poder ser denomina C# (se pronuncia con una C
invocado por Unity. Los scripts se escriben aguda). Todos los lenguajes que Unity
en un lenguaje especial que Unity puede emplea son lenguajes de scripting
entender. Y, es a través de este lenguaje que orientados a objetos. Al igual que
podamos hablarle al motor y darle nuestras cualquier lenguaje, los lenguajes de
instrucciones. scripting tienen sintáxis, o partes de
diálogo, y las partes principales se
denominan variables, funciones y clases.
EDITORES QUE EMPLEA
UNITY
Visual Studio for Unity Community
MonoDevelop(hasta 2017.3)
(desde 2018.1)
ESTRUCTURA DE UN SCRIPT
¿QUÉ FUNCIÓN CUMPLEN CADA PARTE DEL
SCRIPT?
Variables

 En Unity, los scripts comienzan por disponer las


herramientas que necesitas arriba, y esto
normalmente se hace declarando variables. Puedes
ver las variables declaradas aquí con la palabra
clave visibilidad "pública" o "privada" en el frente,
seguida por un tipo y un nombre.

 hay varios tipos de visibilidad, pero los dos más


importantes son pública y privada.

 contienen valores y referencias a objetos (puedes


ver los objetos como variables "más grandes").
 Si creas un script con el texto anterior en
tu editor de códigos y después regresas a
Unity y asignas el script a un GameObject,
verás que puedes acceder y ver la variable
ligera declarada como pública en el
Inspector, pero no puedes ver la privada.
Funciones

 Las funciones son colecciones de código


que comparan y manipulan estas variables.
Las funciones comienzan con una
mayúscula.

 Los scripts manipulan las variables a


través de funciones. Hay una serie de
funciones que se ejecutan
automáticamente en Unity. Observa a
continuación:
Awake () Start()

 se invoca solo una vez cuando se  al igual que Awake, Start se invocará si un
menciona ese componente. Si un GameObject está activo, pero solo si el
GameObject está inactivo, entonces no componente está habilitado. Para más
podrá invocarse hasta que se le active. Sin información sobre las diferencias con
embargo, Awake se invoca incluso si el Awake, mira este video.
GameObject está activo pero el
componente no está habilitado (con la
pequeña casilla de verificación junto a su
nombre). Puedes usar Awake para
inicializar todas las variables a las que
necesitas asignar un valor.
Update() FixedUpdate()

 Update se invoca una vez por frame. Aquí  es cuando quieres que la física funcione.
es donde colocas el código para definir la
lógica que se ejecuta continuamente, como
animaciones, AI y otras partes del juego  Como puedes ver, hay una Fixed Update
que tienen que actualizarse continuamente. (Actualización fija) y una Update
(Actualización). Como su nombre lo
indica lo se hará cada actualización en un
tiempo fijo del frame
LateUpdate() OnGUI ()

 es una función que es similar a Update,  Los controles del IMGUI de Unity utilizan
pero LateUpdate se invoca al final del una función especial llamada OnGUI(). La
frame. Unity analizará todos los objetos de función OnGUI() se llama cada frame a
juego, encontrará todas las Updates, e medida que el script que la contiene esté
invocará las LateUpdates. Esto es bueno habilitado - como la función Update().
para cosas como la cámara. Digamos que
quieres mover un personaje en tu juego. Y
entonces, él tropieza con otro personaje y  Los controles de IMGUI en sí son muy
termina en otra posición. Si movemos la simples en estructura. Esta estructura es
cámara al mismo tiempo que el personaje, evidente en el siguiente ejemplo.
habrá ua sacudida, y la cámara no va a
estar donde tendría que estar. Así que,
básicamente, es un segundo loop que
resulta muy práctico.
OnDisable() OnEnable()

 Estafunción se llama cuando el Se llama a esta función cuando el objeto se


comportamiento se deshabilita. habilita y se activa.

 Esto también se llama cuando el objeto se


destruye y se puede usar para cualquier
código de limpieza. Cuando los scripts se
vuelven a cargar después de que la
compilación ha finalizado, se llamará a
OnDisable, seguido de un OnEnable
después de que se haya cargado el script.
ONDESTROY()
 La destrucción del comportamiento adjunto dará como resultado que el juego o la escena reciban
OnDestroy.

 OnDestroy ocurre cuando termina una escena o un juego. Al detener el modo Reproducir cuando
se ejecuta desde el interior del Editor, finalizará la aplicación. Cuando esto suceda, se ejecutará un
OnDestroy. Además, si una escena se cierra y se carga una nueva escena, se realizará la llamada a
OnDestroy.
 Cuando se construye como una aplicación independiente, las llamadas de OnDestroy se realizan
cuando finalizan las escenas. Un final de escena generalmente significa que se carga una nueva
escena.

 Nota: OnDestroy solo se invocará en los objetos del juego que hayan estado activos anteriormente.
CLASES
 Las clases son colecciones de estas
variables y sus funciones. Por ejemplo,
este script es una clase:
 Ten presente que el nombre de la clase debe
coincidir con el nombre de archivo del script C#
para que funcione. Y después de anexarla a un
GameObject, tiene que derivarse de otra clase
llamada MonoBehaviour que se coloca
automáticamente allí para ti cuando creas un
script por primera vez. Las clases también son
públicas o privadas.

 En Unity, si creas una clase personalizada, como


en el ejemplo a continuación, tienes que pedir
serializarla. Esto significa que se convertirá a
datos simples que Unity puede examinar en el
inspector. Cuando hace esto, verá que tienes la
clase que aparecerá en el inspector.
CREACIÓN DE SCRIPT
CRREACION
los scripts generalmente se crean dentro
de Unity directamente. Puede crear un
nuevo script desde el menú Crear en la
esquina superior izquierda del panel
Proyecto o seleccionando Activos>
Crear> Script C # en el menú principal.

El nuevo guión será creado en la carpeta


que usted haya seleccionado en el Panel
del Proyecto. El nuevo nombre del
archivo script será seleccionado,
pidiéndole a usted que ingrese otro nuevo
nombre.
 Como es dicho arriba, un script solo define un plano para un
Component por lo que nada de su código será activado hasta
que una instancia del script es adjuntada al GameObject. CONTROLAND
Usted puede adjuntar un script arrastrando el script asset a un O UN
GameObject en el panel de la jerarquía o al inspector del
GameObject el cual está actualmente seleccionado. También GAMEOBJECT
hay un sub-menú de Scripts en el menú del Componente que
va a contener todos los scripts disponibles en el proyecto,
incluyendo aquellos que usted ha creado usted mismo. La
instancia de script se ve mucho como cualquier otro
Componente en el Inspector:

 Una vez adjuntado, el script va a comenzar a funcionar


cuando usted presione Play y corra el juego. Usted puede
revisar esto al agregar el siguiente código en la función Start:-
EJEMPLO N#2
Se crea el gameobject
Creamos el script
Damos doble click sobre el script y nos abre el editor de código con el script
Agregamos una propiedad para rotar el objeto de MonoBehaviour
Añadimos al objeto el script arrestándolo o agregándolo como componente
Reproducimos
BIBLIOGRAFÍA
 https://docs.unity3d.com/Manual/index.html
 https://docs.unity3d.com/ScriptReference/index.html
 https://unity3d.com/es/learning-c-sharp-in-unity-for-beginners
 https://docs.unity3d.com/es/2018.4/Manual/CreatingAndUsingScripts.html
 https://unity3d.com/es/learning-c-sharp-in-unity-for-beginners
 https://wiki.unity3d.com/index.php/Csharp_Coding_Guidelines

También podría gustarte