Buenas a todos, ésta será la enésima vez que retomo Unity en los últimos años y espero que sea la definitiva. He empezado con tutos sencillitos y ayer terminé concretamente este de plataformas 2d:
Una vez terminado el vídeo, he seguido y voy a seguir cacharreando Unity a través de ese proyecto.
A lo que vengo a preguntaros: mi intención es que el personaje se mueva automáticamente y que únicamente cambie de dirección cuando golpea con otro objeto... he visto varias formas de hacerlo, pero no logro hacer que funcionen.
En el proyecto del vídeo, el suelo, muros etc... todo es un único TileMap. He visto en algunos sitios que se le suele poner un tag, por ejemplo "muro" a esos objetos, y luego en X métodos (por ejemplo, OnCollisionEnter2D) se le pregunte si ha chocado con el objeto que tiene ese tag. Si ha chocado, que se le hagan las modificaciones necesarias al personaje de velocidad, dirección... Mi problema viene aquí; como es un único tilemap, cómo puedo saber en qué plano ha chocado? Solo quiero que cambie de dirección cuando choca a izquierda o derecha (los muros, plano X), no cuando salte y aterrice por ejemplo (plano Y)
Quitando el tema del tag, también he visto que se suele utilizar para averiguar si ha chocado por izquierda o derecha (en el método OnCollisionEnter2D), la resta de ambas posiciones de los objetos que chocan, y una vez se tenga la dirección de esa resta, hacer las modificaciones apropiadas de escala y velocidad.
Igual es un poco confuso el texto... gracias de antemano!