{"id":67664,"date":"2025-05-27T20:40:01","date_gmt":"2025-05-28T01:40:01","guid":{"rendered":"https:\/\/niixer.com\/?p=67664"},"modified":"2025-05-28T11:56:06","modified_gmt":"2025-05-28T16:56:06","slug":"paso-a-paso-videojuego-camara-0","status":"publish","type":"post","link":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/","title":{"rendered":"Paso a paso videojuego c\u00e1mara 0"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Introducci\u00f3n<\/strong><\/h3>\n\n\n\n<p>Este videojuego serio en <a href=\"https:\/\/niixer.com\/index.php\/2020\/10\/20\/unity-para-el-mundo-en-2d\/\">2D<\/a>, desarrollado con <a href=\"https:\/\/unity.com\/es\">Unity<\/a>, est\u00e1 dise\u00f1ado como una herramienta educativa para ense\u00f1ar de manera pr\u00e1ctica y entretenida los conceptos b\u00e1sicos sobre el funcionamiento de la c\u00e1mara. A trav\u00e9s de una experiencia interactiva, el jugador aprender\u00e1 desde las partes fundamentales de una c\u00e1mara hasta principios clave como la exposici\u00f3n, el enfoque, la apertura del diafragma y la velocidad de obturaci\u00f3n.<\/p>\n\n\n\n<p>Con un estilo visual accesible y din\u00e1micas dise\u00f1adas espec\u00edficamente para facilitar la comprensi\u00f3n, el juego combina elementos pedag\u00f3gicos con mec\u00e1nicas simples para fomentar el aprendizaje aut\u00f3nomo. Su dise\u00f1o en 2D y desarrollo en Unity permiten una ejecuci\u00f3n fluida y <a href=\"https:\/\/niixer.com\/index.php\/2024\/03\/02\/flutter-el-software-que-ofrece-comodidad-y-versatilidad-en-el-desarrollo-multiplataforma-2\/\">multiplataforma<\/a>, adecuada tanto para entornos educativos como para uso personal.<\/p>\n\n\n\n<p>A continuaci\u00f3n, se presenta el proceso detallado de creaci\u00f3n de este videojuego.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pantalla principal<\/strong><\/h3>\n\n\n\n<p>Primeramente se va a configurar una pantalla para poder iniciar el juego, para esto se crea una nueva escena.<\/p>\n\n\n\n<p>En este caso se llama men\u00fa inicial ya que ser\u00e1 la pantalla con los botones para iniciar el juego<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXc-eF7oqmc6cXU7qpVkh9mLAQPYdBjT4UJvVk6EpqAa_SXgFKksWPTr8LyRAGQhgCcQxsilIKgno67p0aFrbJFqb3lHrX8NdSWfnUS5F2M7ROwJD-HRT33Uc_Ku8GWvndTHdwReMA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"men\u00fa inicial\" style=\"width:408px;height:auto\"\/><\/figure>\n\n\n\n<p><br><\/p>\n\n\n\n<p>Se abre dicha escena para que se pueda ver en la jerarqu\u00eda (Hierachy) en la parte izquierda del editor<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfqDiAWIsMTbLMKaXVI_-KvFYLef5AtanvvytxLRpOY-PuCaUe3UDPg_o0ZuNnte1JikRo11DdlvbBV18pEMwS01boE4y3aJdJWPcE-v0-AiScyw-T-6xVr2aca0n1FX5DP9oOmDA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"jerarqu\u00eda (Hierachy)\" style=\"width:431px;height:auto\"\/><\/figure>\n\n\n\n<p>Para crear el canvas inicial, dentro de la jerarqu\u00eda se presiona clic derecho, UI y en la opci\u00f3n donde dice canvas<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfF5DBxyzQOxVY0a0eHraEeo-Oxvq8hzjPZmzotW0JyWn67UztYoUwcojPrTbUeFiaqMv45o_-qc3KbYZZfaoSlwpqP1lLy0w71QLkBadw5hHHDzTUsxLT3Hc5-8Hh2FVegMNDG4w?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:431px;height:auto\"\/><\/figure>\n\n\n\n<p>Ahora dentro del canvas creado anteriormente se va a crear un panel que ser\u00e1 la imagen de fondo que se va a tener para la pantalla inicial<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfpHS3XLS1-08yZzTt3Bf42xxsiAYkieqet3gFLAYYo1noeraNny2PAtOUeIze1JmInIXZsKOzsFelPe3mFR-xsaja9DkNOs3nmfpqQ80AWKXS-y60i47JQRaaLZ87ki8X-UnYCOw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:319px;height:auto\"\/><\/figure>\n\n\n\n<p>En este caso se le dio el nombre de inicio<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXekQB9nxiCJxAVQ8rwJd5N4ok_s1avd1v7nJmQ6p7DNyCykeJcTHKhLViAn6sTOyjBcT7v_MxaKELp_DDznRY3CkyvE8-dQ_QflNmA5nfst0jTW10-DJfTKBYfFcT6cId-k51MzRQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>El plano creado se debe ver de la siguiente manera<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeshJQjvgy1zxOuX7B4bIUi8t9Kq-8INjbGO-gPPQRvvxcqWi-elaU6_SuBPXpSxrbvn3xoRdzscT9fHbFv7ESFHbQC6-lKlcAaIZwL4zJG9bj0dBCcRlF-t5Epi-amsT-5u7Y3?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:425px;height:auto\"\/><\/figure>\n\n\n\n<p>Ahora en la parte derecha, es decir en el inspector se busca el apartado donde dice background<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdd_DpgNWGz1rjKczWiXHUsBTIHd-W0embRen1OIxKRIwX17yxWHAJwHpopGdJUvHvCV2JNFzy5FKzH0llZ3SRO4NCv05wUEgi21o34tHbhx7fIAii3FsNlejEzw-EDLPJw3Vpm?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:503px;height:auto\"\/><\/figure>\n\n\n\n<p>Para la imagen que se va a poner se arrastra la imagen deseada en la parte de abajo en los assets<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcBectZKV4bDyCxNvY344C9TQqtGGnOnGevCwfr9-Nd_LIsxt9uBMGxKOzhlx3S7_yRh1nsPEreqJWv2Ajpt4Tr4xD29fGpe1pJsWB1vg0Wd1SOBe7Vt8atcgqDSpOPNkpmQiRqYA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:759px;height:auto\"\/><\/figure>\n\n\n\n<p>Posteriormente se selecciona la imagen y se arrastra al apartado background mostrado anteriormente<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdgaPvEl5ihIDNUvCDrjG6B16ZMhKt_MjV-fKojklmA9TxkJ8U-qQ7EeDOMugDk-4PDujEqffko9YK2mKZAPaGp_Mff8Zr8OcbOT-SCpsMhCYhYreAiV_2E5jLXXQ65ebN3jdVflg?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Despu\u00e9s de esto el plano quedar\u00e1 autom\u00e1ticamente con la imagen asignada&nbsp;<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXezFg7z7FoBzMRTFUui7Cl3kd8LFtvY48EUYA9cVen1g65lD604KdNUvBbsCRSieiiX5mIBG4JJqZsIvtE3dz1Qn7fn4ZrgwD0C2M981QyKOPetXmPZA8NyIqk8RyB2gaYll3aq?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:608px;height:auto\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Botones<\/strong><\/h3>\n\n\n\n<p>En la jerarqu\u00eda se vuelve a presionar clic derecho para crear un bot\u00f3n en las siguientes opciones<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfuxN1mmKFMMCV3XO50MdzxHJYNBMhGINv4ahYKXOeKjfVz0hspwdlyeiiPpviG-Nl7g00H0V9N3n5q_1mJ7JooOc4VkZEHdWE2aCXRPnrHQbLYQqDjaYw7RlGMKhLZYzSN5X3o5Q?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:351px;height:auto\"\/><\/figure>\n\n\n\n<p>Se crear\u00e1 un bot\u00f3n y al desplegar saldr\u00e1 un apartado llamado text TMP<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcilNYODbZ2Cvx5ojInMiNh1oDkwMgtzloAn7CULsrgXZA8dY-Z8kYTmnrJLkhT3Bl_nWwpoUi0oqSByf_2T50-nIQ1O-jiLOM6pioZ-17BXdvyVctQJmmR3A2kPFFKL5PIIpcx7g?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Se selecciona para poder editar el texto que llevar\u00e1 el bot\u00f3n desde el inspector<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeABN4qhU-7jA2-VLt9xkKSgVhIYOYntYUJBWXyVc5xK7JlZyhYNfv4W7jBvyx7IEEs4I1qJeHwM99GuA440ARbsIx-wmVr1VDZ07ck4P_7X-KfnKR7Q6pA9cn3zV2zsUw_gZPJaQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:526px;height:auto\"\/><\/figure>\n\n\n\n<p>Despu\u00e9s de esto volviendo a seleccionar el bot\u00f3n se podr\u00e1 cambiar el color nuevamente en el inspector<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfSM7TmydwiU4Gw8Q0Q5gSlYIxy-_89C61D5krqa0s4xbiBZN4kjsOtfO5S51IEbSAM88W0BdC-egTp8C4wjhpMZ-TbCNug3wykFfq3aM2orgwd_jsomDUd5-PAeujZN3nfQMlw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:545px;height:auto\"\/><\/figure>\n\n\n\n<p>Ahora se repite el mismo procedimiento para crear el bot\u00f3n de salir&nbsp;<\/p>\n\n\n\n<p>Una vez realizado esto se tendr\u00e1n los dos botones que ir\u00e1n en la pantalla principal<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXe9LWdBMcdkBA2Aml716ADvkZmvJFvwqjsMa2vkKgq-RJtv3Wmn7GE1pVFBrScJqKEUg4y3mj_rRvrPObSXH90QsZOQTH4neWu5qjztyZzacmkh-nZxg_DkQsM8C9iBpnp-Wsfe8g?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Ya que se tienen acomodados los botones se les debe agregar la funcionalidad mediante scripts usando en este caso Visual Studio Code, para esto nos dirigimos al canvas&nbsp;<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcy90g_YN7ik1fxHEb30C7PUmbZWbS1fh6HLR5G9yYkQv3ZBYRInyLMzyiKgBdnXfiCA48TODd6YEllZK7zVedRjPza3n17sJmCPAFNgSD0ub1pVRaLUv0imWJHmorLBMuK6FRpxQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Y en la parte derecha, en el inspector seleccionamos la opci\u00f3n Add component para a\u00f1adir un nuevo script&nbsp;<br><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfsvJRcr2XIO8Tta9xbVcTWwAqh5lAcrdiEPagoHLxDNqH_9j5uzrYs1pkDckAbX6CVLSCDLOM1RzRnS2yOVuD6-bQReQzrNHlUriYYdVMTVu9I_FxIra6K7qypEKZ31y6r7KeeNg?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:349px;height:auto\"\/><\/figure>\n\n\n\n<p>Se le da un nombre y se selecciona new script de la siguiente manera<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXckjjDoOvgz88hUbRXHcrxTlVH7MprbDYZd0vMf61LkBB0JE0n7-pFT9zYnTmVq_lNJuR-Anzuv6OpW6MwS-xnrSuaOAWXgoYLa-VRuNLkyek0GmzoSjm-h8Gg3GZ7l8libOsgW?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Se abre el script en Visual y por defecto se va a ver as\u00ed:<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using UnityEngine;\n\npublic class MenuInicial : MonoBehaviour\n{\n    \n}\n<\/code><\/pre>\n\n\n\n<p>Para poder cambiar entre escenas en la parte superior del c\u00f3digo se debe importar la siguiente librer\u00eda<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using UnityEngine.SceneManagment;<\/code><\/pre>\n\n\n\n<p>Se crea la funci\u00f3n jugar y dentro de este se escribe scene manger.load scene para cargar una escena y dentro del par\u00e9ntesis se le escribe get active scene para abrir la escena en la que nos encontramos y se le suma 1 al final para que cargue la siguiente&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> public void Jugar(string Selecci\u00f3n)\n    {\n        SceneManager.LoadScene(Selecci\u00f3n);\n    }<\/code><\/pre>\n\n\n\n<p>Ahora se crea la funci\u00f3n para salir de la aplicaci\u00f3n<\/p>\n\n\n\n<p>Adentro se escribe Application.Quit(); que ser\u00e1 lo que va a cerrar el juego cuando este creado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    public void salir()\n    {\n        Debug.Log(\"Salir...\");\n        Application.Quit();\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>Para tener el orden de las escenas posteriores y que se pueda hacer el cambio de escenas correctamente se deben ordenar, para esto nos dirigimos a el apartado file y luego en build profiles en la parte superior<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfuGicHttHLEWorNXmdWDC7K50WQXCWCMnn8JXFNiYUeyqVMXqskoGTpWn5oH0IxUCVZvDiT94Da41QTPMVEpDrx_H0Yq59sdC1e-D9NRbB3a7bve3GArGunzgr-dpI6fmc0GRNrA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Aca se deben ordenar correctamente las escenas que se van a tener, en caso de agregar una una nueva se presiona Add open scenes y para ordenarlas se selecciona la escena y se arrastra al orden que se quiera, en este caso ya se ordenaron correctamente<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcmy9F6c1mf1zb9hSC9q3t--eDQZzhYfACnvwwsmbhruHA97jfJl8WP8ywtsS-N-bVKyxk-LF0t649thbcOIzzZ3d5ykr46Lagu8r2fkNjNOKLIjFKg0cQh_4F5fhcuSdlEfg-9gQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Por \u00faltimo se le agrega la funcionalidad que se establece en los canvas a los botones creados, para esto abrimos el bot\u00f3n jugar primero y en el inspector en la parte derecha nos vamos al componente llamado button<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfO33oQ_ok4-1ZFz8IVQ2yBgB2_BtEuhOA_i1eUTuN6Tntf9DzyRqnBtv_JuMWGdSqiA5eQTrf6MffCLpIumtaY6qaoUr3d90RIaNDbrjjeN686Vjih3auAqQRJwLHdtwXCy64c1Q?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:546px;height:auto\"\/><\/figure>\n\n\n\n<p>En la parte de abajo de este componente donde dice On click se presiona el simbolo + de la parte inferior derecha&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcND-at2i6VMZ6HePoeqs5b_S7yIoS3RJI_4edRKwdlEmVQrSAYyCdxySSZxYr4nFxOSmayRuq-JzYmHN4fdYgWuTsyfs8CHUhzCj_FqP_k53A377ABFujWsK4SatM580RWUUSq6A?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Cuando se le da al + saldra lo siguente dentro de esa interfaz<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXf3X4jaGTrrX1UADInQTVdHK-DGof2M0GYhJuM73NEP_n9GEh0LtbhJqsM1MKE5bZtAKi2kB5CZV85FkoLPiW8py8HC-G2BgVb1MjLaGXAraLfiRgtTlWolJX8uyGjt8NX6cUei?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Ahora se debe arrastrar el canvas en donde dice None(Object)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfYrF10zBNOyW4cSFR0rmq8e3cLaRxmh5sCVFk8Q7WPZgyxOO2E9VeqpUoNmE53LAzJG1p8gb7VY7B0iF5vX4voYBOlQIHTV9zJ6oHxn9yaPegvsk7MamC6o03Ns4iNyJPGGw7rBQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Al lado donde dice no function se despliega ese men\u00fa y se le da en donde dice men\u00fa Inicial que corresponde al script creado anteriormente<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeXKOkwdlUOxS_TysU266WmrW2WR_Zcw3QbNjwGiEubbIb1Y8HoBkJvbmPYCmm0-iFjHzADfHDd7BMHOBITnMH69kqtLZS3Llk8xsNNe1pqDGaAYAfuoTR42us8dc5-SPvsWo1n?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdujzD9FTCnj1CNyzQHefvHpewXZUxQYvi-OgJI3JaWTfehmOBks2Iis0aOy1DUfLPN7OVrPeb7V0VVu0007DsqyaeTx9sKUbVH8Vu8WPQ3TRutHVq5y_dBN1Nj9dsa8hMwk7Ci2w?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Y dentro de men\u00fa inicial se busca la funcion jugar<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXd64Pl0YSgfmwwznqu7FW4xn_XtCHzPxl_xUxZ2Ji03ZHO4CiXRncJrhkQJcIN5-FDdfl_FSJYW4zXzFC0Tz_pm_1KD84qk3bdbvh28P3ANemv7poDwH8s2ocpHinvvTYrbxARTzQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Se repite la misma operaci\u00f3n para el bot\u00f3n de salir a diferencia de que en el \u00faltimo paso en la funci\u00f3n se selecciona salir<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXew-MC2-iaqg2Bv97wvoG19MvLXe1HnnberF06vBPaT8xP1yak5_3ztlk18-rEKMaYPwYOcX5BVeSx9CfQXspU9QJDQyjl8pa_sOyo5fnV1ndkXdwZqMHVlX-K6-3vfJZGq3ogeEg?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Para probar la funcionalidad de los botones se le da play en la parte superior del editor&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdRejGU9Rj9vu2rOWCTzXPMvCVcdBKkdNCLlAYOMjY01XL2G9KVfEI2h69LQipEGwuiy8r0Hx-wlIhsyw8PHS_hOpyCVyFkKxIrXGyrmcZmhKPvmU63oCl6F2zU3RhFz3WvtpNEFA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:520px;height:auto\"\/><\/figure>\n\n\n\n<p>Al presionar salir nos aparecer\u00e1 el mensaje en la parte inferior ya que no se tiene el juego terminado por ahora solo se mostrar\u00e1 dicho mensaje<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeQlzk56m0Hx4u7KnwwjzsLWH3E0jTuaaBgOka9oZCX3ktTzQj3OEuODD9lCItUbsMf1eXRlZmjd--mr09BtS4wuRZ2pMdIBIBVj-DUcsqeApyMkBKFdFcsBZ6q0owWLdGz3XfG0w?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:518px;height:auto\"\/><\/figure>\n\n\n\n<p>Y al presionar jugar nos lleva a la siguiente escena.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Historia<\/strong><\/h3>\n\n\n\n<p>Antes de empezar con el juego, se da una breve introducci\u00f3n donde se le da al jugador su misi\u00f3n adem\u00e1s de empezar con el aprendizaje que se quiere impartir<\/p>\n\n\n\n<p>Se crea una nueva escena llamada introducci\u00f3n<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXe259H6_1UfZSg5EUE7b34GzjMcBP0r4w74fJ4Ew4D1Oz_ivX_37C_DCR-R8ED7kICzHeS2RVzBmv_TQ8_PIfiOOo9LCUzEmun5BD6KVku1vEQijVcKGWj4QyoFqUTdKkJopw9NQw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXceYMaTSj6TEovDMPM7B5hQBUuRFq2mfvd2uMRPPfDeq1OhVKVcblhuJqOVgMEtZrfaiLlWrdHq9whaiWJTR0dEtDkcgBtEAA_8wiblYjCbZw5XPa3Z5FP-EJK2Y52ZbkAF_Cp6XA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:560px;height:auto\"\/><\/figure>\n\n\n\n<p>Se repite el mismo procedimiento que se hizo para agregar una imagen en la portada para poder darle un fondo a esta nueva escena, posteriormente se a\u00f1ade un texto&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcqitQw6SlgcO9OSXYbkhLK4oAXyuhHaa4qcw_OVM03xnhKxt6tZpQCVdgD2xn3803VQA41in3G7ppogryRSnpDbsVszUYrHji524M77FQl4si1r0ga6bIIZUWjMDyG0mc-8djs?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:548px;height:auto\"\/><\/figure>\n\n\n\n<p>Por \u00faltimo se le agrega un bot\u00f3n con el mismo script usado en la escena anterior para cambiar a la siguiente<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcdTGBWomr6Tg4945ljeZdrZhmi8Pq4WNjdbNW-8iMFmB9jBf3uRAif8US3IieoqsqJZnrP6-KiHnMndEqRt1V2f1HQOV3e9anOKKwbCw9sWuyLTeqA3ZDBhkzAUQAl1nPz4-__AQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:541px;height:auto\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cinem\u00e1tica inicial<\/strong><\/h3>\n\n\n\n<p>Para la cinem\u00e1tica inicial realizada con CapCut y se ea\u00f1ade a los assets de unity el video en formato mp4 <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"123\" height=\"126\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-592.png\" alt=\"\" class=\"wp-image-67782\"\/><\/figure>\n\n\n\n<p>Se creo una nueva escena llamada cinem\u00e1tica y siguiendo la misma l\u00f3gica de poner los botones para la siguiente escena se cre\u00f3 un canvas donde se a\u00f1adi\u00f3 dicho bot\u00f3n y se crea un nuevo objeto llamado videoPlayer<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"595\" height=\"721\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-594.png\" alt=\"\" class=\"wp-image-67784\" style=\"width:330px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-594.png 595w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-594-248x300.png 248w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"276\" height=\"190\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-593.png\" alt=\"\" class=\"wp-image-67783\" style=\"width:331px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-593.png 276w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-593-130x90.png 130w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/figure>\n\n\n\n<p> Seleccionando el video player nos dirigimos al inspector y en la opci\u00f3n llamada videoplayer  donde dice videoClip se arrastra el video anterior <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"500\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-595.png\" alt=\"\" class=\"wp-image-67785\" style=\"width:417px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-595.png 533w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-595-300x281.png 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/figure>\n\n\n\n<p>Al reproducir la escena se reproduce el video con el bot\u00f3n previamente establecido<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"865\" height=\"489\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-596.png\" alt=\"\" class=\"wp-image-67786\" style=\"width:420px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-596.png 865w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-596-300x170.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-596-768x434.png 768w\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Video de la cinem\u00e1tica<\/strong> <\/h2>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"848\" style=\"aspect-ratio: 1280 \/ 848;\" width=\"1280\" controls src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/VID-20250528-WA0005.mp4\"><\/video><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ventana de instrucciones<\/strong><\/h3>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Se sigue el mismo procedimiento anterior con la imagen requerida para darle las instrucciones al jugador<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdLDRprwnRJ33moLwav9kRDX0BTxU2Ftk3tZ5UCgmO6AsfeIwCJ9c257v5-wE5f2FlhV0CFjusmrqHnNyuBJW2DL34DQjxF4B6B2bM7v2HIkZOqCAkHuacuZYwAnbgs65e2BB9kvQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:555px;height:auto\"\/><\/figure>\n\n\n\n<p>Para a\u00f1adir las escenas se debe tener en cuenta el orden de las mismas, esto se hace yendo nuevamente a la secci\u00f3n filoe en la parte superior izquierda y en build profiles, m\u00e1s adelante si se siguen incluyendo escenas se debe tener en cuenta la realizaci\u00f3n de este paso<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfr6lNawO54TW9lDJO37zNoNiz6h5rgW_7phaWqOYZklN2p6bziBrBn0J9Fak29EZSXOms_uNiKHrIfb6NHMflptK52H5QhTsdr_ZNaHYt-8cYpcwH6OIZo-O171oH60hXfpLS6nw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:553px;height:auto\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Construcci\u00f3n nivel 1<\/strong><\/h3>\n\n\n\n<p>Para esto se importa un mapa previamente buscado en los assets de unity y se arrastra a la escena<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"814\" height=\"189\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-597.png\" alt=\"\" class=\"wp-image-67788\" style=\"width:636px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-597.png 814w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-597-300x70.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-597-768x178.png 768w\" sizes=\"auto, (max-width: 814px) 100vw, 814px\" \/><\/figure>\n\n\n\n<p>Para poder poner los fondos  se crea un nuevo objeto llamado Quad<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"645\" height=\"788\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-598.png\" alt=\"\" class=\"wp-image-67789\" style=\"width:228px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-598.png 645w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-598-246x300.png 246w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/figure>\n\n\n\n<p>Este objeto se ver\u00e1 como un rect\u00e1ngulo en la escena y se le pueden arrastrar im\u00e1genes previamente cargadas para generar el efecto del fondo<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"321\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-599.png\" alt=\"\" class=\"wp-image-67790\" style=\"width:447px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-599.png 606w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-599-300x159.png 300w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/figure>\n\n\n\n<p>Y para llenar el mapa se pueden simplemente copiar y pegar para posteriormente distribuirlos a lo largo del mapa<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"858\" height=\"363\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-600.png\" alt=\"\" class=\"wp-image-67791\" style=\"width:400px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-600.png 858w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-600-300x127.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-600-768x325.png 768w\" sizes=\"auto, (max-width: 858px) 100vw, 858px\" \/><\/figure>\n\n\n\n<p>Despu\u00e9s de completar el primer nivel va a aparecer una pantalla con la informaci\u00f3n de cada una de las partes encontradas y la c\u00e1mara armada<\/p>\n\n\n\n<p>Para esto se hace una nueva escena y se le pone un plano siguiendo los mismos pasos anteriores<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"297\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-601.png\" alt=\"\" class=\"wp-image-67792\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-601.png 525w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-601-300x170.png 300w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Construcci\u00f3n nivel 2<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcTGJqXpsgIzFMZrPknAaDaPS0K4jsqmxsYwgcJDz1v5P56sLEi1wErr9TpjyHnUcn7-XJ1jWhh2Bsq0DsAusbb51t9_qOGx40DJaLcJXwgNKG1QLdAMDHrvC6EPrBvdhcnuJsI8Q?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:624px;height:auto\"\/><\/figure>\n\n\n\n<p><strong>Animaci\u00f3n de enemigos<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXd7nhrtval_NX77WbnUaZOrLkb7WKWN8HD0V7KZpA4-mkJ0KHaabFNfts3Hx00RiZvgReuDHaE3w5XXp-WIW8Ki62PbxuDDG5ndPErb3N3uY-t9jgJUXSZVbQ_eRKHfefGzKV91Sw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:619px;height:auto\"\/><\/figure>\n\n\n\n<p>Es necesario colocar el sprint en complementos del mu\u00f1eco y coloque el avatar&nbsp; para que el enemigo&nbsp; siga al jugador&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Script Enemy controller<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>using UnityEngine;\nusing System.Collections;\n\n&#91;RequireComponent(typeof(Animator))]\n&#91;RequireComponent(typeof(Rigidbody2D))]\n&#91;RequireComponent(typeof(Collider2D))] \/\/ A\u00f1adido para asegurar colisionador\npublic class EnemyControler : MonoBehaviour\n{\n    &#91;Header(\"Configuraci\u00f3n de Objetivo\")]\n    &#91;SerializeField] private Transform playerTarget;\n    &#91;SerializeField] private float detectionRange = 5f;\n    &#91;SerializeField] private float stoppingDistance = 1f;\n\n    &#91;Header(\"Configuraci\u00f3n de Movimiento\")]\n    &#91;SerializeField] private float moveSpeed = 3f;\n    &#91;SerializeField] private float acceleration = 5f;\n    &#91;SerializeField] private float deceleration = 7f;\n\n    &#91;Header(\"Configuraci\u00f3n de Ataque\")]\n    &#91;SerializeField] private float attackRange = 0.8f;\n    &#91;SerializeField] private int attackDamage = 10;\n    &#91;SerializeField] private float attackCooldown = 2f;\n    &#91;SerializeField] private float attackDuration = 1f;\n    &#91;SerializeField] private LayerMask playerLayer;\n    public int damageOnCollision = 1;\n    public float knockbackForce = 10f;\n    public float stompForce = 15f;\n\n    &#91;Header(\"Componentes\")]\n    private Animator animator;\n    private Rigidbody2D rb;\n    private Collider2D enemyCollider; \/\/ A\u00f1adido referencia al collider\n    private float lastAttackTime;\n    private bool isAttacking;\n    private Vector2 currentVelocity;\n    private Coroutine attackCoroutine;\n\n    private void Awake()\n    {\n        animator = GetComponent&lt;Animator&gt;();\n        rb = GetComponent&lt;Rigidbody2D&gt;();\n        enemyCollider = GetComponent&lt;Collider2D&gt;(); \/\/ Inicializar collider\n        \n        \/\/ Configuraci\u00f3n f\u00edsica mejorada\n        rb.constraints = RigidbodyConstraints2D.FreezeRotation;\n        rb.gravityScale = 3f;\n        rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous; \/\/ Mejor detecci\u00f3n de colisiones\n        \n        \/\/ Asegurar que el tag es correcto\n        gameObject.tag = \"Enemy\";\n    }\n\n    private void Start()\n    {\n        \/\/ Buscar al jugador si no est\u00e1 asignado\n        if (playerTarget == null)\n        {\n            GameObject player = GameObject.FindGameObjectWithTag(\"Player\");\n            if (player != null) playerTarget = player.transform;\n        }\n    }\n\n    private void Update()\n    {\n        if (playerTarget == null) return;\n\n        float distanceToPlayer = Vector2.Distance(transform.position, playerTarget.position);\n        bool playerInRange = distanceToPlayer &lt;= detectionRange;\n        bool shouldChase = playerInRange &amp;&amp; distanceToPlayer &gt; stoppingDistance &amp;&amp; !isAttacking;\n        bool shouldAttack = distanceToPlayer &lt;= attackRange &amp;&amp; !isAttacking &amp;&amp; Time.time &gt;= lastAttackTime + attackCooldown;\n\n        HandleMovement(shouldChase);\n        HandleOrientation();\n\n        animator.SetBool(\"IsAttacking\", isAttacking);\n\n        if (shouldAttack)\n        {\n            attackCoroutine = StartCoroutine(PerformAttack());\n        }\n\n        if (isAttacking &amp;&amp; distanceToPlayer &gt; attackRange * 1.5f)\n        {\n            InterruptAttack();\n        }\n    }\n\n    private void HandleMovement(bool shouldChase)\n    {\n        if (isAttacking)\n        {\n            currentVelocity = Vector2.zero;\n            rb.linearVelocity = new Vector2(0, rb.linearVelocity.y); \/\/ Mantener velocidad Y\n            return;\n        }\n\n        if (shouldChase)\n        {\n            Vector2 direction = (playerTarget.position - transform.position).normalized;\n            direction.y = 0;\n            \n            currentVelocity = Vector2.MoveTowards(\n                currentVelocity, \n                direction * moveSpeed, \n                acceleration * Time.deltaTime);\n        }\n        else\n        {\n            currentVelocity = Vector2.MoveTowards(\n                currentVelocity, \n                Vector2.zero, \n                deceleration * Time.deltaTime);\n        }\n\n        rb.linearVelocity = new Vector2(currentVelocity.x, rb.linearVelocity.y);\n        animator.SetBool(\"running\", shouldChase);\n    }\n\n    private void HandleOrientation()\n    {\n        if (playerTarget == null) return;\n\n        float directionToPlayer = playerTarget.position.x - transform.position.x;\n        if (Mathf.Abs(directionToPlayer) &gt; 0.1f)\n        {\n            transform.localScale = new Vector3(\n                Mathf.Sign(directionToPlayer) * Mathf.Abs(transform.localScale.x), \n                transform.localScale.y, \n                transform.localScale.z);\n        }\n    }\n\n    private IEnumerator PerformAttack()\n    {\n        isAttacking = true;\n        lastAttackTime = Time.time;\n\n        \/\/ Detener movimiento pero mantener gravedad\n        currentVelocity = Vector2.zero;\n        rb.linearVelocity = new Vector2(0, rb.linearVelocity.y);\n\n        animator.SetTrigger(\"Attack\");\n        animator.SetBool(\"IsAttacking\", true);\n\n        yield return new WaitForSeconds(0.3f);\n\n        if (Vector2.Distance(transform.position, playerTarget.position) &lt;= attackRange * 1.2f)\n        {\n            ApplyDamage();\n        }\n\n        yield return new WaitForSeconds(attackDuration - 0.3f);\n\n        isAttacking = false;\n        animator.SetBool(\"IsAttacking\", false);\n        attackCoroutine = null;\n    }\n\n    private void InterruptAttack()\n    {\n        if (attackCoroutine != null)\n        {\n            StopCoroutine(attackCoroutine);\n            attackCoroutine = null;\n        }\n\n        isAttacking = false;\n        animator.SetBool(\"IsAttacking\", false);\n        animator.SetTrigger(\"CancelAttack\");\n    }\n\n    private void ApplyDamage()\n    {\n        Collider2D&#91;] hits = Physics2D.OverlapCircleAll(transform.position, attackRange, playerLayer);\n        foreach (var hit in hits)\n        {\n            if (hit.CompareTag(\"Player\"))\n            {\n                WarriorMovimiento warrior = hit.GetComponent&lt;WarriorMovimiento&gt;();\n                if(warrior != null)\n                {\n                    Vector2 direction = (hit.transform.position - transform.position).normalized;\n                    if(Mathf.Abs(direction.x) &lt; 0.3f) direction.x = Mathf.Sign(direction.x) * 0.3f;\n                    direction.y = Mathf.Clamp(direction.y, 0.3f, 0.7f);\n                    warrior.RecibirDanio(direction, attackDamage);\n                }\n                break;\n            }\n        }\n    }\n\n    private void OnCollisionEnter2D(Collision2D collision)\n    {\n        if(collision.gameObject.CompareTag(\"Player\"))\n        {\n            WarriorMovimiento warrior = collision.gameObject.GetComponent&lt;WarriorMovimiento&gt;();\n            if(warrior != null)\n            {\n                if(IsPlayerStomping(collision))\n                {\n                    warrior.RecibirDanio(Vector2.up, damageOnCollision);\n                    warrior.GetComponent&lt;Rigidbody2D&gt;().AddForce(Vector2.up * stompForce, ForceMode2D.Impulse);\n                    \n                    \/\/ Aplicar fuerza hacia abajo al enemigo\n                    rb.AddForce(Vector2.down * stompForce * 0.5f, ForceMode2D.Impulse);\n                }\n                else\n                {\n                    Vector2 direction = (collision.transform.position - transform.position).normalized;\n                    if(Mathf.Abs(direction.x) &lt; 0.3f) direction.x = Mathf.Sign(direction.x) * 0.3f;\n                    direction.y = Mathf.Clamp(direction.y, 0.3f, 0.7f);\n                    warrior.RecibirDanio(direction, damageOnCollision);\n                }\n            }\n        }\n    }\n\n    private bool IsPlayerStomping(Collision2D collision)\n    {\n        foreach(ContactPoint2D contact in collision.contacts)\n        {\n            if(contact.normal.y &lt; -0.5f &amp;&amp; collision.rigidbody.linearVelocity.y &lt; 0)\n            {\n                return true;\n            }\n        }\n        return false;\n    }\n\n    \/\/ Para visualizar rangos en el editor\n    private void OnDrawGizmosSelected()\n    {\n        \/\/ Rango de detecci\u00f3n (amarillo)\n        Gizmos.color = Color.yellow;\n        Gizmos.DrawWireSphere(transform.position, detectionRange);\n        \n        \/\/ Rango de ataque (rojo)\n        Gizmos.color = Color.red;\n        Gizmos.DrawWireSphere(transform.position, attackRange);\n        \n        \/\/ Rango de parada (verde)\n        Gizmos.color = Color.green;\n        Gizmos.DrawWireSphere(transform.position, stoppingDistance);\n    }\n}<\/code><\/pre>\n\n\n\n<div class=\"wp-block-group is-layout-grid wp-container-core-group-is-layout-478b6e6b wp-block-group-is-layout-grid\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"444\" height=\"238\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-542.png\" alt=\"\" class=\"wp-image-67674\" style=\"width:420px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-542.png 444w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-542-300x161.png 300w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><\/h3>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Construcci\u00f3n nivel 3 Trivia<\/strong><\/h3>\n\n\n\n<p>Se crea una nueva escena y se le a\u00f1ade un panel, en este caso se llama Nivel_1<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXduUwv8XaZxFB4h0y10J94p59liopkPM3vYKl0R0NtQxDW3B7w7awxf70e4FO5RwzoRBwO9H0mWOY9MUqi-Uc7kDWSA4gAy_2e_3VC9G6w7A5RCIbfWF_u70oLfHe8ap_at3gR8xw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Despu\u00e9s se le a\u00f1ade una imagen a este panel<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdTtFOzTdktjpin9nRProEV_-RWfHIReVtU67YpI2ppx2GL6RTUdApdzW8fYK-yQL7fqyuLYUDTK9KFIhlFj1JC4Op_i6ph6Wd5QFrrx0oLyJvwxSH9H_CLU4QNKklICHvaXZpC4w?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:340px;height:auto\"\/><\/figure>\n\n\n\n<p>Posteriormente se a\u00f1ade un texto siguiendo el mismo paso anterior<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcU-Gd5s1Exz6ri0sZHG-YkTuQS-2T3RcTucDOK7HjitYm-WNoaEkqM2UX4ORkuqdrHQdHM9lFegZEjS8nwQlMBQVkMUbfXd4mDQP87p5RGFChxAZNAukM8TMK-pAG1irvj1jcB3w?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfUEivNnOQW6Z6tuTlOk-7kuKxppBx9uMfS8dch5vRL1tYfcyDpSAQSqAZx7h0gFaOKDNW7tOI3E-xZNreWlvy7ZWGPv13q6y5pvhY6b6tKHEHKpZED5rQ9b1qYZp0sqPeZmtsarA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\"\/><\/figure>\n\n\n\n<p>Se a\u00f1aden cuatro botones abajo que ser\u00e1n las opciones de respuesta<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfdrCXuxWAQIwG3AmaMy2bGkPKY2_jaDMyzyDFgPtligt1GMD9v2hJCpm95aCy_4xl38DpFWXZhJHt0w4ltPu7okApZNbUy1WAD9tE34hMCf4wU8gqJx_XgFhBGyMEMiWIrjMXK?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:607px;height:auto\"\/><\/figure>\n\n\n\n<p>Se escriben los textos correspondientes a cada respuesta en los textos de los botones<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXejea4_3MW3bq6gQyJLo7PO0hdpfMxq5U7ScaTOOJuxJv6tX7b83Q4iwYjp2F33s7wtCaUy8U3XIdIMUApcBOx0O3_xXqrFOqdWUl-qTAfbzDYIyrS0ZtESudzF57VeqZbz-8FZKw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:607px;height:auto\"\/><\/figure>\n\n\n\n<p>Se arrastra una imagen en la en el apartado donde dice image en el inspector de la imagen que se cre\u00f3 al principio<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXe8MYwuGYLUB3reykqwMSZYyiuTJZoDINkZlf1AB5XeMXxOFdeCAFok6cm4JPk0j81s480tOK8U75H3uJnwHP2NEq90uyGbbOP888pdeGcoOJlrEWxXDrP3J_qkJD_yyVMxUixByA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:615px;height:auto\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdZhMTcKCdHyYqwM8j4P6FVN71P2Z5ivF_eK6O2EXW4TyY4XCvV5Y4frtAWs2OcvWXZvRiYmCueQcE8wZ-S6CD0JDIjecXaK1m-NLHrCxOXgeOpa8aWyo_-aZmcguNgZQC6ce5T1g?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:619px;height:auto\"\/><\/figure>\n\n\n\n<p>Para realizar m\u00e1s preguntas copiamos el canvas creado para nivel 1 y se deben cambiar acorde a las preguntas que se vayan a realizar<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXd7G27BtrAu-xShi8yEIbr8pjpYzfiZoMr4I1_5Uqz9m71nxLaqIUbf356au9Y0TNBDFk1fRnrLpcdf5bXPvnfYs7Bd6E7-JV6i6-K-qkU6cO95TjBJoNO6wcfgJTaJ1c5DLW6xlQ?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:620px;height:auto\"\/><\/figure>\n\n\n\n<p>Ya con las preguntas terminadas, se crea un gameobject en la jerarqu\u00eda<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXd7fK81Icw4f1gMlKhXTdInjzBsVXn4TgcDOfXQ9oMb7uD3BLtBqqr_g6KnPDEI-q5RnqIRci5SCsj9-mtuGr2phZ1lQIBlY37XIDWHNJtuPfILyI_EJufgNp4oBS58pchJ033d?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:390px;height:auto\"\/><\/figure>\n\n\n\n<p>En este caso se nombra GameManager<\/p>\n\n\n\n<p>Y creamos un nuevo script llamado Manager<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfHVE3r4p2cecWWffBH0GaQuLLdsq743_8JzilT907IF-mup8dsdqin3wyIGNG9b6SnidKBrBIL1QAFQIUnKLbikCiXVDP-OXy4OmBEv3KNQoGeZQp6pB16GDnkmLfGwDSZTrNtBw?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:395px;height:auto\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"303\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-543.png\" alt=\"\" class=\"wp-image-67675\" style=\"width:469px;height:auto\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-543.png 446w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/image-543-300x204.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/figure>\n\n\n\n<p>Volvemos al inspector del <a href=\"https:\/\/www.reddit.com\/r\/unity\/comments\/s4qzzr\/what_is_a_gamemanager_really_how_should_i_use_it\/?tl=es-es\">GameManager<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcGMyHn_pPiiYkFjezToCT42eTYoGj69U4IgQyFKzdoU3eJTT_7UusR81f1xQ8pG9odkvVNt4A4gFQqnMRWOGHCFcGHH49Xw8XAupN2TG6LgUbnfvoDnOrwIh_ZZIafVGDdRSCADg?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:465px;height:auto\"\/><\/figure>\n\n\n\n<p>Y d\u00f3nde niveles se escribe la cantidad de preguntas realizadas, en este caso 4, al agregar esto se despliegan los elementos, en cada uno se deben arrastrar las preguntas<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXe8Vj-H4LyFs1diucM9nxSCk1v_1A_G1Z63auwtLGpVzP9k4WqnzTfbQaevPipyZ_Ri9oMK1LFH2yFTb3p3HtT6ZiEcGnzOSKzDccOHHxOtz_0dR0krEDwamNoP9ULKjmbFMTUROA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:574px;height:auto\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfD_CN_M0M2GhueLLlxHatWQACbyHY6x40cxNzaJtfb7Qkrsvxzl93MDVFA9JZ2TU7-SYrfIqJC7woEqKRW04rjvaO29gKZZQ5wRkBT0Isy4GEswBnexZ6bb-pZHmcn6QF81wvD?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:568px;height:auto\"\/><\/figure>\n\n\n\n<p>Ahora para las respuestas correctas nos vamos al inspector en cada una de las preguntas correctas y le damos la siguiente acci\u00f3n en el apartado onClick<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfNoXELgqcjkeuUzlxM7QmCBTrm7UtI3fdYex0V7BdF8_ZhyiXQaRXttTJwaRWCxzy1ggxkLDn6ads5UvsOKPpwWqSF9lk_mQRkNwOM8X1sfvoDXvTQELPjtfCUSdGO7ocEgI3UKA?key=wuJ57b68clZLO7Q62vsFjQ\" alt=\"\" style=\"width:531px;height:auto\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Conclusi\u00f3n<\/strong><\/h3>\n\n\n\n<p>As\u00ed fue como se cre\u00f3 <em>C\u00e1mara 0<\/em>, un videojuego 2D que mezcla lo educativo con lo narrativo para ense\u00f1ar los fundamentos de la fotograf\u00eda desde una experiencia interactiva y entretenida. A lo largo del desarrollo, se busc\u00f3 no solo dise\u00f1ar <a href=\"https:\/\/www.educativa.com\/blog-articulos\/gamificacion-el-aprendizaje-divertido\/\">mec\u00e1nicas<\/a> que facilitaran el aprendizaje, sino tambi\u00e9n construir un universo visual y sonoro que envolviera al jugador en una historia cargada de nostalgia, exploraci\u00f3n y descubrimiento.<\/p>\n\n\n\n<p>Este documento detalla paso a paso c\u00f3mo se construy\u00f3 el juego en<a href=\"https:\/\/niixer.com\/index.php\/2025\/05\/24\/ultimo-amanecer-en-unity\/\"> Unity<\/a>: desde el dise\u00f1o de los personajes y escenarios en pixel art, la planificaci\u00f3n del guion visual, hasta la programaci\u00f3n de mec\u00e1nicas que permiten recolectar piezas y avanzar en la historia. Cada parte fue pensada no solo como una herramienta l\u00fadica, sino como una forma de reforzar conceptos clave sobre el arte de la fotograf\u00eda, su lenguaje, y su valor expresivo.<\/p>\n\n\n\n<p>El objetivo principal siempre fue claro: demostrar que aprender tambi\u00e9n puede ser una aventura. Y <em>C\u00e1mara 0<\/em> se convirti\u00f3 en eso \u2014una puerta a un mundo olvidado donde ver con intenci\u00f3n es el primer paso para crear. Este proyecto no solo propone una forma alternativa de ense\u00f1ar, sino que tambi\u00e9n rinde homenaje a la imagen como forma de memoria, arte y lenguaje universal.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cr\u00e9ditos<\/strong><\/h3>\n\n\n\n<p>Autor: <a href=\"https:\/\/niixer.com\/?s=catalina+rojas+fonseca\">Catalina Rojas<\/a>, <a href=\"https:\/\/niixer.com\/index.php\/author\/aforeroc5\/\">Alexander Forero<\/a>, <a href=\"https:\/\/niixer.com\/index.php\/author\/alejandrorloaiza\/\">Alejandro Rodriguez<\/a><\/p>\n\n\n\n<p>Editor: <a href=\"https:\/\/niixer.com\/?s=Carlos+Iv%C3%A1n+Pinz%C3%B3n+Romero\">Magister ingeniero Carlos Iv\u00e1n Pinz\u00f3n Romero<\/a><\/p>\n\n\n\n<p>C\u00f3digo: UCVS-9<\/p>\n\n\n\n<p>Universidad: <a href=\"https:\/\/www.ucentral.edu.co\/\">Universidad Central<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fuentes<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">KanarianDev. (2024, noviembre 3). \u00a1ANIMA a TU ENEMIGO en UNITY! [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=yWvUwpjUXkg&amp;list=PL9v36qYVbM9hXN4qovHah718G_gfAkMJl&amp;index=13<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">KanarianDev. (2024, mayo 3). \u00a1ANIMA a TU PERSONAJE en UNITY! [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=kM-jcFYVY3s<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">KanarianDev. (2024, agosto). \u00a1C\u00d3MO hacer un ENEMIGO en UNITY! [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=ZvIB-u-jgEA<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">KanarianDev. (2024, agosto 21). \u00a1C\u00d3MO hacer un ENEMIGO en UNITY! [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=ZvIB-u-jgEA&amp;list=PL9v36qYVbM9hXN4qovHah718G_gfAkMJl&amp;index=11<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">KanarianDev. (2024, mayo 15). \u00a1COMO usar el ANIMATOR en UNITY! [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=lu-w7A8weVI<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">KanarianDev. (2024, diciembre 19). Domina el Tilemap en Unity y crea juegos incre\u00edbles [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=ENOtmXIbA14<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Este videojuego serio en 2D, desarrollado con Unity, est\u00e1 dise\u00f1ado como una herramienta educativa para ense\u00f1ar de manera pr\u00e1ctica y entretenida los conceptos b\u00e1sicos sobre el funcionamiento de la c\u00e1mara. A trav\u00e9s de una experiencia interactiva, el jugador aprender\u00e1 desde las partes fundamentales de una c\u00e1mara hasta principios claveSeguir Leyendo<\/p>\n","protected":false},"author":1916,"featured_media":67666,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[30,4115],"tags":[4090],"class_list":["post-67664","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-niixer","category-video-juegos-serios","tag-videojuegos-educativos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Paso a paso videojuego c\u00e1mara 0 &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos<\/title>\n<meta name=\"description\" content=\"C\u00e1mara 0 es un videojuego educativo 2D en Unity que ense\u00f1a fotograf\u00eda b\u00e1sica de forma interactiva. Aprende sobre c\u00e1mara, exposici\u00f3n, enfoque y apertura con mec\u00e1nicas educativas y gr\u00e1ficos pixel art. Una experiencia divertida y educativa para aprender fotograf\u00eda de manera pr\u00e1ctica.\" \/>\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\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Paso a paso videojuego c\u00e1mara 0 &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos\" \/>\n<meta property=\"og:description\" content=\"C\u00e1mara 0 es un videojuego educativo 2D en Unity que ense\u00f1a fotograf\u00eda b\u00e1sica de forma interactiva. Aprende sobre c\u00e1mara, exposici\u00f3n, enfoque y apertura con mec\u00e1nicas educativas y gr\u00e1ficos pixel art. Una experiencia divertida y educativa para aprender fotograf\u00eda de manera pr\u00e1ctica.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/\" \/>\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:published_time\" content=\"2025-05-28T01:40:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-28T16:56:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-27-may-2025-20_04_32-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"jrojasf1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"jrojasf1\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Paso a paso videojuego c\u00e1mara 0 &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","description":"C\u00e1mara 0 es un videojuego educativo 2D en Unity que ense\u00f1a fotograf\u00eda b\u00e1sica de forma interactiva. Aprende sobre c\u00e1mara, exposici\u00f3n, enfoque y apertura con mec\u00e1nicas educativas y gr\u00e1ficos pixel art. Una experiencia divertida y educativa para aprender fotograf\u00eda de manera pr\u00e1ctica.","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\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/","og_locale":"es_ES","og_type":"article","og_title":"Paso a paso videojuego c\u00e1mara 0 &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","og_description":"C\u00e1mara 0 es un videojuego educativo 2D en Unity que ense\u00f1a fotograf\u00eda b\u00e1sica de forma interactiva. Aprende sobre c\u00e1mara, exposici\u00f3n, enfoque y apertura con mec\u00e1nicas educativas y gr\u00e1ficos pixel art. Una experiencia divertida y educativa para aprender fotograf\u00eda de manera pr\u00e1ctica.","og_url":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/","og_site_name":"Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","article_publisher":"https:\/\/www.facebook.com\/niixer\/","article_published_time":"2025-05-28T01:40:01+00:00","article_modified_time":"2025-05-28T16:56:06+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-27-may-2025-20_04_32-1024x683.png","type":"image\/png"}],"author":"jrojasf1","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"jrojasf1","Tiempo de lectura":"21 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/#article","isPartOf":{"@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/"},"author":{"name":"jrojasf1","@id":"https:\/\/niixer.com\/#\/schema\/person\/4972186b92824b2da0fe159a61223e73"},"headline":"Paso a paso videojuego c\u00e1mara 0","datePublished":"2025-05-28T01:40:01+00:00","dateModified":"2025-05-28T16:56:06+00:00","mainEntityOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/"},"wordCount":1792,"publisher":{"@id":"https:\/\/niixer.com\/#organization"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-27-may-2025-20_04_32.png","keywords":["Videojuegos educativos"],"articleSection":["Niixer","video juegos serios"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/","url":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/","name":"Paso a paso videojuego c\u00e1mara 0 &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","isPartOf":{"@id":"https:\/\/niixer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/#primaryimage"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-27-may-2025-20_04_32.png","datePublished":"2025-05-28T01:40:01+00:00","dateModified":"2025-05-28T16:56:06+00:00","description":"C\u00e1mara 0 es un videojuego educativo 2D en Unity que ense\u00f1a fotograf\u00eda b\u00e1sica de forma interactiva. Aprende sobre c\u00e1mara, exposici\u00f3n, enfoque y apertura con mec\u00e1nicas educativas y gr\u00e1ficos pixel art. Una experiencia divertida y educativa para aprender fotograf\u00eda de manera pr\u00e1ctica.","breadcrumb":{"@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/#primaryimage","url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-27-may-2025-20_04_32.png","contentUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-27-may-2025-20_04_32.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/niixer.com\/index.php\/2025\/05\/27\/paso-a-paso-videojuego-camara-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/niixer.com\/"},{"@type":"ListItem","position":2,"name":"Paso a paso videojuego c\u00e1mara 0"}]},{"@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\/4972186b92824b2da0fe159a61223e73","name":"jrojasf1","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/6615464451fbbcc2e72b01ec26769a0096544e43f8d996613b1ebd4b8cad7cb5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6615464451fbbcc2e72b01ec26769a0096544e43f8d996613b1ebd4b8cad7cb5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6615464451fbbcc2e72b01ec26769a0096544e43f8d996613b1ebd4b8cad7cb5?s=96&d=mm&r=g","caption":"jrojasf1"},"url":"https:\/\/niixer.com\/index.php\/author\/jrojasf1\/"}]}},"jetpack_featured_media_url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-27-may-2025-20_04_32.png","_links":{"self":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/67664","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\/1916"}],"replies":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/comments?post=67664"}],"version-history":[{"count":13,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/67664\/revisions"}],"predecessor-version":[{"id":67805,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/67664\/revisions\/67805"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media\/67666"}],"wp:attachment":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media?parent=67664"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/categories?post=67664"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/tags?post=67664"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}