{"id":4280,"date":"2020-12-01T21:26:59","date_gmt":"2020-12-02T02:26:59","guid":{"rendered":"https:\/\/niixer.com\/?p=4280"},"modified":"2020-12-01T21:27:00","modified_gmt":"2020-12-02T02:27:00","slug":"tutorial-videojuego-unity-coconut-runner","status":"publish","type":"post","link":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/","title":{"rendered":"Tutorial Videojuego Unity: Coconut Runner"},"content":{"rendered":"\n<p>En este tutorial aprender\u00e1s a crear el videojuego que tiene como nombre \u201cCoconut Runner\u201d, fue creado en <a href=\"http:\/\/Unity.com\">Unity<\/a>, y consiste en un laberinto situado en una playa en el cual el jugador debe recorrer e ir recogiendo siete cocos que est\u00e1n esparcidos por el laberinto. El jugador cuenta con tres minutos para recoger todos los siete cocos. Si recoge todos los cocos antes de que el tiempo termine, recibir\u00e1 un mensaje de felicitaci\u00f3n, pero si no recogi\u00f3 los cocos antes de que se terminara el tiempo, se mostrar\u00e1 un mensaje de que perdi\u00f3 el juego, y este a su vez se reiniciar\u00e1 para que el usuario pueda intentarlo de nuevo.\u00a0<\/p>\n\n\n\n<p>El proyecto fue creado en el motor de videojuegos multiplataforma llamado Unity, el cual brinda todas las herramientas necesarias para elaborar un videojuego, contemplando todos los aspectos y caracter\u00edsticas que debe contener un videojuego. La versi\u00f3n utilizada de este motor fue la 2019.4.13f1.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Hierarchy en Unity:<\/strong><\/h3>\n\n\n\n<p>La jerarqu\u00eda utilizada para este proyecto se basa en una escena la cual contiene todos los elementos del juego, es decir, el escenario, que en este caso es una playa, las vallas que componen el laberinto y los cocos. Adem\u00e1s de contener elementos b\u00e1sicos como son la iluminaci\u00f3n, la c\u00e1mara y el First Person controller (personaje que se mueve por el mapa controlado por el usuario).&nbsp; Ya que en los requerimientos del videojuego se ped\u00edan m\u00ednimo dos plataformas, se situaron dos prefabs de una playa, y para realizar el laberinto, se utilizaron aproximadamente 155 vallas. Adem\u00e1s, por problemas de colisiones con las vallas, se utilizaron cubos transparentes que contienen un box collider aplicando una hitbox a cada \u201cpared\u201d del laberinto. Adem\u00e1s, para ambientar mejor el juego, se puso el prefab que brinda Unity de agua, y se le aplic\u00f3 un box collider de igual forma para que el usuario no se caiga y pueda caminar sobre el agua.&nbsp;<\/p>\n\n\n\n<p>Tambi\u00e9n se manejaron objetos de Unity que permiten mejorar la jugabilidad y la ambientaci\u00f3n, como son audio sources para colocar m\u00fasica de fondo y sonidos a los cocos cuando son recogidos. Igualmente, se agregaron objetos de tipo texto, que se activan en la interfaz del usuario en 2D para mostrar el tiempo que le queda al usuario, la cantidad de cocos recogidos y los mensajes de victoria y derrota, estos se encuentran en objeto \u201ccanvas\u201d que se encarga de controlar todos los objetos que se muestran en la interfaz del usuario.&nbsp; En la siguiente imagen se muestra toda la jerarqu\u00eda del juego.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/dwvGwgtyBiKXU0suaoQ43RHFpHm-K9bRiiQQ_WAVAqCqrgYC0610w3QOAK4QUF0G_zoVm1y7WheReAlOVWXoKASyv8cOy5FwsG_Rlji32vlQaaWn8Pm90uiVw7VOZhD3JVQ-4rL3\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Assets en Unity:<\/strong><\/h3>\n\n\n\n<p>Como se mencion\u00f3 en la jerarqu\u00eda, se manejaron m\u00faltiples assets en este proyecto, muchos de ellos sacados de la Asset store como el paquete de Standard Assets que brinda Unity gratuitamente, del cual se tomaron elementos como el agua, y figuras primitivas para realizar las colisiones y los cocos.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/sOIRXZVfnGXuytDfVcRvm1MKLznFa_tMSjm5x0RhnIEPdmojH8LD6q-3OVtVAWASTwp7rmV3nKttqHFeGSTkTciWkxkrOHaJnlKEG9D30y0ZUvfwu5tXb1KT174MLRhTE_kVXHU4\" alt=\"\" \/><\/figure>\n\n\n\n<p>Pasando a revisar los assets como tal, se debe revisar primeramente la jerarqu\u00eda de estos, en la cual se puede observar m\u00faltiples carpetas, en las cuales destacan la carpeta de los standard assets y la carpeta de los assets del proyecto como tal.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/MNoFKLfdbagBjrixs4fbQUdMwwM-Qv2B-9NdRnb39mzaVujPBNrqqBDPE9kOwa3AUNfB7SO0rej46CHCiuqNVGO9RMHS7XSC9YI7-H05f7m-vjCuyiFsMiX4uTgKLDORfIFXgxJ8\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<p>De las carpeta de Standard Assets se utiliz\u00f3 el prefab del agua para simular el oc\u00e9ano, adem\u00e1s del First Person Controller.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/K1Hp64AwdEIpbDtJEIcNJPdt6LUsQ2B9y4_dyQuQO1bf9SaVstnvdoJK5tvufLVjSq5jQSmo1fvpbZl6Tvo7Z2YhK_V_egH_NuY78ptjfghofwNbCLj_Thq_0PcKHUr5MwM3dgOc\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/yM_Pi9HZiFZ2VHsnWkXUM_VVhYkpDwt6Y-GogPqtAnyPfZwcN3CXisF-Ajcis_xwId6jkwCnPubFe2Gmr2DaQmduHRoCkfRPFTYSKgFekFKm9simnePf4BOYcJmlajToB5TRV6tl\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<p>Pasando a explorar a fondo el paquete de assets del proyecto se pueden encontrar cuatro carpetas: Materials, Prefabs, Scripts y Sounds, en las que se encuentran todos los archivos, modelos, sonidos y c\u00f3digo que componen el juego como tal.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/hYNJaAPPceBICnV_M1CV7Mn6XWYts7IckpIN0JdNBJsCifrqDm_RPvjr8fQsfBA4mzVKCBWwPWRmuZK5eK9oy2SmJlSjFpJyY4VgH8ACjKXqAhitOsMDovXWEd3It8Y1qdpi1y0z\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<p>Entrando en detalle a revisar cada una de las carpetas de los assets del proyecto, podemos encontrar la carpeta Materials, que contiene las texturas y materiales de los objetos utilizados en el juego, en ella encontramos la textura del coco, del puente y de las vallas.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/rtSDie76nNO9z7Wnnd3rZ2uSX-C9Fl17cOCPJRsWCif2FazN0qVdttV4tq3lPmFPDMyqmEoKLB0mvh3fjbgmUNzVYMWdsIknh5tHtTiOOFXMtgmjBO4QjjsPWw-tSTFUoXO_Kc_U\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<p>Continuando con la carpeta de Prefabs, encontramos todos los objetos prefabricados encontrados en la p\u00e1gina Sketchfab, en la que se tomaron los modelados de la playa, el puente que conecta las dos playas, la valla. Estos objetos fueron descargados algunos en formato fbx y otros en obj, teniendo as\u00ed uno ya sus texturas incorporadas (como la playa) y otros a los que tocaba agregarle su textura al importarlos (valla y puente).&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/49Bxo01d8TVNs8RT8EhVmBEhqHyXDIEWt309YyIi4NjT-JE_Nv6AupY9LKniBwxD3OFBWKmKvKHWv3a7f_4qlOln5QVU45bkaJeMpQ4cufcHT6FBJ0cseops0bWswMfNzqOitSTh\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<p>En la siguiente carpeta de Scripts se encuentran todos los c\u00f3digos realizados en C# que se utilizaron para las m\u00faltiples acciones y eventos que se implementaron en el videojuego, tales como el temporizador, el contador de cocos recogidos, los triggers de los mensajes de victoria y derrota y las acciones de recoger el coco como tal.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/s00YrVP1IrgVxsJiERFoR8eDZhZQ3xx2fQ0NtsieVJUnswr24XKxYpeZpEIlheD0cQfnOCh8vQ0p_OSOZudBacNaq3bsO0Wz7tu3iAiH33kW8e1CD8FRxvPO0gQWBQhzjfyzY-Yp\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<p>Y finalmente, en la carpeta de Sounds, encontramos todos los sonidos que se incorporaron en el proyecto, tales como la m\u00fasica de fondo (karaoke de la canci\u00f3n \u201cdebajo del mar\u201d utilizada en la pel\u00edcula de la sirenita) y el sonido que hacen los cocos cuando son recogidos (efecto de sonido de mordisco caricaturesco en youtube).&nbsp; La canci\u00f3n de fondo suena cada vez que se inicia el juego (esto se hizo con la funci\u00f3n de play on awake) y el sonido de los cocos suena solo cuando estos son recogidos.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/xRlVycqECLkdzaTNGTW-FK-15UF4_AIdVFcmfN9-FJCDYWPO0Yivf6KsumThiLWE_fgsMJeR8qrEpUa6bm9mYQq6RRbZfDsv3gTwDQkT7dhii1OulzfGqX0T_K25SQ1zElLGpWm-\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Scripts<\/strong><\/h3>\n\n\n\n<p>Se crearon tres clases de C# en las que se modelan ciertos comportamientos de los objetos encontrados en el videojuego. Estas clases se especifican a continuaci\u00f3n:&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><em>CoconutScript: <\/em><\/h4>\n\n\n\n<p>Esta clase abstrae y modela todo el funcionamiento del coco, es decir, la interacci\u00f3n que tiene el jugador con el objeto a recoger.\u00a0 Esta clase maneja los dos m\u00e9todos de Start() y Update() en donde se inicializan la cantidad de cocos en cero cada vez que se inicia el juego, adem\u00e1s de controlar cuando se presiona la tecla \u2018r\u2019 para que se reinicie el juego.\u00a0<\/p>\n\n\n\n<p>Adem\u00e1s, cuenta con el m\u00e9todo \u201cOnTriggerEnter\u201d que se encarga de validar cuando el jugador toque un coco,&nbsp; y si es as\u00ed, que el coco se destruya. Para esto \u00faltimo se utiliza el m\u00e9todo Destroy, que a su vez llama al m\u00e9todo \u201cOnDestroy\u201d encargado de aumentar un contador cada vez que se destruya un coco para que se lleve la cuenta de cu\u00e1ntos ha recogido el jugador, y cuando llegue a 7 recogidos, la velocidad para caminar y correr del personaje se pondr\u00e1 en cero para que el jugador no pueda moverse, lo mismo pasa cuando el jugador pierde el juego.&nbsp;<\/p>\n\n\n\n<p>Tambi\u00e9n est\u00e1 el m\u00e9todo \u201cTerminarJuego\u201d que se encarga de iniciar una rutina en el m\u00e9todo update cuando se termine el tiempo. Esta rutina hace que despu\u00e9s de 4 segundos de terminado el juego, ya bien sea porque gan\u00f3 o perdi\u00f3, el juego se reinicie.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Se importaron las librer\u00edas de UnityEngine, UnityEngine.SceneManagement, UnityEngine.UI y UnityStandardAssets.Characters.FirstPerson.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/I-NP6g57Ho99Gl-EO_oi5oynTkBGQ01SvZf5_Tj7aT4jW9JIfAe7qCl6N6Koexb7qdakmCu1bwj5k4QZBjkKywNMTKBwNGXj6DrmejzskBeg4DOLYiSQs_u7Llrh0TLZ8ANSx5OE\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/4R9Je1sZKaLFImSyFl--0SsvLsIxCPI-H4mtW11otNYmoQzU8ek5CvXrXD99Afkd9-UiJdWPyH7DKyYg06kXsW5uvm0VmR8t3INc5yXwuf-WzvcEYt-DoKf0Qa4DF_6uvbhdILH9\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><em>Levitate: <\/em><\/h4>\n\n\n\n<p>Esta clase se cre\u00f3 para dar el efecto a los cocos de levitaci\u00f3n, para que resalten m\u00e1s en el laberinto. Para hacer esto se crearon los m\u00e9todos Start() y Update(), adem\u00e1s de una variable de vector3 que se utiliza para guardar posiciones X,Y,Z, adem\u00e1s de una variable flotante que valida la velocidad del coco. En el m\u00e9todo start se toma la posici\u00f3n del coco y en el m\u00e9todo update se indica que se mueva el coco en la posici\u00f3n Y aumentando 0.5f(valor de la variable de velocidad) cada segundo. Inicialmente\u00a0 cada coco se encuentra en la posici\u00f3n Y=2, entonces se le indica en el c\u00f3digo que cuando el coco se encuentre en la posici\u00f3n Y=2.5 empiece a moverse hacia abajo hasta que llegue a la posici\u00f3n 2, y que se repitan estas acciones infinitamente.\u00a0<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/xeZw3LjToPMcKC4Q1TRdITc274aviU53waZVTZVHDiGM2POujveDqOAB_6pBku1XktemQN6f0kg2g5wLF4waiiDU6s70-NpGk-1dz7f8lIW27J7BlnZdHOyjFcQODHUrJsTQiAwc\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><em>Timer: <\/em><\/h4>\n\n\n\n<p>Para esta clase se utilizaron multples variables que representan los minutos, los segundos, el texto que aparece cuando se pierde y el personaje FPC. En el m\u00e9todo Start() se hace que el texto de derrota se inicializa en falso para que no salga de una vez en pantalla, adem\u00e1s se hace que el texto que se muestra tenga la estructura de \u201c0 minutos, :0 segundos\u201d, adem\u00e1s de inicializar los minutos en 3 y los segundos en 60. En el m\u00e9todo Update() se inicia la rutina para que se empiecen a descontar los minutos y los segundos, esto se hace en el m\u00e9todo StartCoroutine.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/vrXVLKYp8xjq1tCspRo_zTy0RgnepG_akL3O_pGSUowlrI-VxeG4ZArj3DJ2SPU24-p_QMr5Akzo-UU6BBu99-1djFksBB_FAZZJBgOSYChAffPwGDM5A5mV0LX307kTpcFKBB8U\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<p>El m\u00e9todo TimerTake, al ser una rutina, debe ser de tipo IEnumerator para que funcione. Cuando este m\u00e9todo inicia, pregunta si los segundos son iguales a cero, si lo son, entonces se crea una estructura anidada de condicionales en donde la primera condici\u00f3n es v\u00e1lida si los segundos y minutos son iguales a cero, entonces el texto que se muestra debe ser de la forma \u201c0 minutos, :0 segundos\u201d, indicando que el tiempo se acab\u00f3, por lo tanto el texto de derrota debe salir en pantalla y la velocidad para caminar y correr del jugador se coloca en cero para que no se pueda mover. En caso de que no se cumpla la condici\u00f3n, los minutos se disminuyen en uno y los segundos se colocan en 59, simulando el cambio de minuto.&nbsp;<\/p>\n\n\n\n<p>Hay otra condici\u00f3n que valida que cuando los segundos sean menos que diez entonces se valida si el tiempo se acab\u00f3, y si lo hizo, se carga de nuevo el juego luego de que pasen cuatro segundos se muestra el texto de la forma \u201c0 minutos :0 segundos\u201d. En caso de que los segundos sean mayores que diez, el texto se muestra de la forma \u201c0 minutos : segundos\u201d.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/ymqizbLSWkPpthns5WU2ddQAdaAiX3iG4nR7w8TOFoOsj3xcpyUtIzdGEP29-gJPdKBExKETe8FwNKPXshLyEMRIveSsdwSn9bu5CinDI9uQ6Gd3srutDFvaxtPYLv4msx5COlvC\" alt=\"\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fotos de los escenarios en Unity:<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/PgLy9OCMAOicc_9USNmGMX4bPv8srUTX8iRh0fa2uoKKQUdu3-diFZ6wltKaAQedQ7whcssNwTic8tNOkFQquJHeI_uC93GSjPguaXWVloci7yZScP2-uf7bINzOigyhVzsmufw-\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/XbY5FVTVcAqjzYKqizPCBNn-MuOKDJCAVLFmbYeq0w7ZzFM-cwxeZex-dVd0e6oIH69LevGLxnE5zd8_XlflKQQ_6MiFtvp6lrGYyupb58K_wQJxSp5F2QTrgoxR0TbH6z5EpgGB\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/liogepLhxrzcIlgP3fvgdVNyqCJj3aqJ-Olt8X7TC8LKiwThkSuBdA-CqMN5hIbw0M1kz0VvkowaV1ASaJI0lOJK3fNmcWC5SyXPH4yj-MtOpVP4QbDJXGL1dd76P2yrmLLELROh\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/tE20ShmCOBCmfeHyLCy-uGKYfM9LV35doQJSxvY6LZQZcHREs0ReZ45h6KU4DmVZlvhCmUAJE0PMdQZ2L1u2QnWn8xWuQkZv1PrlxNLL0EdUYjHqiyRMHwB1KeCA1OzsAvWX7cPT\" alt=\"\" \/><\/figure>\n\n\n\n<p><strong>INSTRUCCIONES DENTRO DEL JUEGO<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/R8uvLx__xgKg_UX8zFVyVioPE7M7z70-rMp62mU_S1F2Lkis-e9ZS9UFSH4vftJi5KzeF6ExR1F5PytxcSLh8gUe3pbsztZA1LCC0D2-WhrmPh_9C225htl19p_y4BXnTQIZPhvu\" alt=\"\" \/><\/figure>\n\n\n\n<p><strong>Autor<\/strong>:&nbsp;<a href=\"https:\/\/niixer.com\/?s=juan+sebastian+martinez\">Juan Sebasti\u00e1n Mart\u00ednez Mart\u00ednez<\/a><\/p>\n\n\n\n<p><strong>Editor:<\/strong>&nbsp;Carlos Iv\u00e1n Pinz\u00f3n<\/p>\n\n\n\n<p><strong>C\u00f3digo<\/strong>: UCRV-8<\/p>\n\n\n\n<p><strong>Universidad:<\/strong>&nbsp;Universidad Central<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Fuentes:<\/h5>\n\n\n\n<p>Hektor Profe. (2017, abril, 29). Reinicio de juego [#14 Tu primer videojuego 2D multiplataforma en Unity 5 [Archivo de video]. Recuperado de:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"https:\/\/www.youtube.com\/watch?v=7F3wEyhsUVY&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=3&amp;t=184s\">https:\/\/www.youtube.com\/watch?v=7F3wEyhsUVY&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=3&amp;t=184s<\/a><\/pre>\n\n\n\n<p>playmedusa. (2016, septiembre, 12). C\u00f3mo a\u00f1adir m\u00fasica y sonidos en Unity (Curso de Unity, 21\/22) [Archivo de video]. Recuperado de:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"https:\/\/www.youtube.com\/watch?v=XthsOXzjmro&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=1\">https:\/\/www.youtube.com\/watch?v=XthsOXzjmro&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=1<\/a><\/pre>\n\n\n\n<p>Escuela de juegos. (2017, marzo, 29). [Unity][Capitulo 33] Interludios de Tiempo y Corutinas (Ienumerator, Coroutine, WaitForSeconds) [Archivo de video]. Recuperado de:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"https:\/\/www.youtube.com\/watch?v=b2V3zdsPQAc&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=4\">https:\/\/www.youtube.com\/watch?v=b2V3zdsPQAc&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=4<\/a><\/pre>\n\n\n\n<p>Rodriguez, M. (2014, noviembre, 14). Tutorial unity3d Juego recoleccion de monedas con sonido y particulas Parte 1 &#8211; 2. [Archivo de video]. Recuperado de:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"https:\/\/www.youtube.com\/watch?v=SZl2NmDDjWE&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=11\">https:\/\/www.youtube.com\/watch?v=SZl2NmDDjWE&amp;list=PLZwTcAUvTX_GtzRMaH_dyVdkK7J7WgtvI&amp;index=11<\/a><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este tutorial aprender\u00e1s a crear el videojuego que tiene como nombre \u201cCoconut Runner\u201d, fue creado en Unity, y consiste en un laberinto situado en una playa en el cual el jugador debe recorrer e ir recogiendo siete cocos que est\u00e1n esparcidos por el laberinto. El jugador cuenta con tresSeguir Leyendo<\/p>\n","protected":false},"author":54,"featured_media":4309,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[55,47,77],"tags":[81,780,66],"class_list":["post-4280","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-realidad-aumentada","category-realidad-virtual","category-videojuegos","tag-realidad-virtual","tag-tutorial","tag-videojuegos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial Videojuego Unity: Coconut Runner &#8211; Niixer Tutorial Unity<\/title>\n<meta name=\"description\" content=\"En este tutorial aprender\u00e1s a crear el videojuego que tiene como nombre \u201cCoconut Runner\u201d, fue creado en Unity, y consiste en un laberinto...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial Videojuego Unity: Coconut Runner &#8211; Niixer Tutorial Unity\" \/>\n<meta property=\"og:description\" content=\"En este tutorial aprender\u00e1s a crear el videojuego que tiene como nombre \u201cCoconut Runner\u201d, fue creado en Unity, y consiste en un laberinto...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/\" \/>\n<meta property=\"og:site_name\" content=\"Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/niixer\/\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/daleplaycolombia\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-02T02:26:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-12-02T02:27:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/si-x2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1146\" \/>\n\t<meta property=\"og:image:height\" content=\"618\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Juan Sebastian Martinez Martinez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Juan Sebastian Martinez Martinez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial Videojuego Unity: Coconut Runner &#8211; Niixer Tutorial Unity","description":"En este tutorial aprender\u00e1s a crear el videojuego que tiene como nombre \u201cCoconut Runner\u201d, fue creado en Unity, y consiste en un laberinto...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/","og_locale":"es_ES","og_type":"article","og_title":"Tutorial Videojuego Unity: Coconut Runner &#8211; Niixer Tutorial Unity","og_description":"En este tutorial aprender\u00e1s a crear el videojuego que tiene como nombre \u201cCoconut Runner\u201d, fue creado en Unity, y consiste en un laberinto...","og_url":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/","og_site_name":"Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","article_publisher":"https:\/\/www.facebook.com\/niixer\/","article_author":"https:\/\/www.facebook.com\/daleplaycolombia\/","article_published_time":"2020-12-02T02:26:59+00:00","article_modified_time":"2020-12-02T02:27:00+00:00","og_image":[{"width":1146,"height":618,"url":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/si-x2.png","type":"image\/png"}],"author":"Juan Sebastian Martinez Martinez","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Juan Sebastian Martinez Martinez","Tiempo de lectura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#article","isPartOf":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/"},"author":{"name":"Juan Sebastian Martinez Martinez","@id":"https:\/\/niixer.com\/#\/schema\/person\/547e0fd8adf7d76a7b7ca1276c7a1665"},"headline":"Tutorial Videojuego Unity: Coconut Runner","datePublished":"2020-12-02T02:26:59+00:00","dateModified":"2020-12-02T02:27:00+00:00","mainEntityOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/"},"wordCount":1719,"commentCount":0,"publisher":{"@id":"https:\/\/niixer.com\/#organization"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/si-x2.png","keywords":["Realidad Virtual","tutorial","Videojuegos"],"articleSection":["Realidad Aumentada","Realidad Virtual","Videojuegos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/","url":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/","name":"Tutorial Videojuego Unity: Coconut Runner &#8211; Niixer Tutorial Unity","isPartOf":{"@id":"https:\/\/niixer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#primaryimage"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/si-x2.png","datePublished":"2020-12-02T02:26:59+00:00","dateModified":"2020-12-02T02:27:00+00:00","description":"En este tutorial aprender\u00e1s a crear el videojuego que tiene como nombre \u201cCoconut Runner\u201d, fue creado en Unity, y consiste en un laberinto...","breadcrumb":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#primaryimage","url":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/si-x2.png","contentUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/si-x2.png","width":1146,"height":618},{"@type":"BreadcrumbList","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/01\/tutorial-videojuego-unity-coconut-runner\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/niixer.com\/"},{"@type":"ListItem","position":2,"name":"Tutorial Videojuego Unity: Coconut Runner"}]},{"@type":"WebSite","@id":"https:\/\/niixer.com\/#website","url":"https:\/\/niixer.com\/","name":"Portal de noticias de tecnolog\u00eda, ciencia, Android, iOS, Realidad Virtual, Aumentada y Mixta, Videojuegos, computadores, todo lo mas reciente en tecnolog\u00eda","description":"Portal de noticias de tecnolog\u00eda","publisher":{"@id":"https:\/\/niixer.com\/#organization"},"alternateName":"Niixer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/niixer.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/niixer.com\/#organization","name":"Niixer","alternateName":"Niixer.com","url":"https:\/\/niixer.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/niixer.com\/#\/schema\/logo\/image\/","url":"https:\/\/niixer.com\/wp-content\/uploads\/2022\/08\/logo-niixer-sin-fondo-1.png","contentUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2022\/08\/logo-niixer-sin-fondo-1.png","width":140,"height":140,"caption":"Niixer"},"image":{"@id":"https:\/\/niixer.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/niixer\/","https:\/\/www.instagram.com\/niixer.tecnologia\/"]},{"@type":"Person","@id":"https:\/\/niixer.com\/#\/schema\/person\/547e0fd8adf7d76a7b7ca1276c7a1665","name":"Juan Sebastian Martinez Martinez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/b2c70446d79b09cbf75efe2d846a746702e9f75c9d8992f38a88298d9587425a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b2c70446d79b09cbf75efe2d846a746702e9f75c9d8992f38a88298d9587425a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b2c70446d79b09cbf75efe2d846a746702e9f75c9d8992f38a88298d9587425a?s=96&d=mm&r=g","caption":"Juan Sebastian Martinez Martinez"},"sameAs":["http:\/\/www.niixer.com","https:\/\/www.facebook.com\/daleplaycolombia\/"],"url":"https:\/\/niixer.com\/index.php\/author\/jmartinezm12\/"}]}},"jetpack_featured_media_url":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/si-x2.png","_links":{"self":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/4280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/comments?post=4280"}],"version-history":[{"count":1,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/4280\/revisions"}],"predecessor-version":[{"id":4312,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/4280\/revisions\/4312"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media\/4309"}],"wp:attachment":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media?parent=4280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/categories?post=4280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/tags?post=4280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}