[Unity] Acceder a un GameObject ingame

marod

¡Hola a todos!

Un día más vengo a molestaros con mis dudas de Unity. Está vez no estoy haciendo ningún tutorial ni nada por el estilo, como bien dicen... para hacer desarrollar videojuegos hay que hacerlos, así que me he decidido por hacer un SNAKE de toda la vida.

El problema y mi duda, es que necesito hacer que cuando el jugador se "Coma" una bola, se instancie detrás del jugador o de un bloque y lo siga, pero no sé como acceder a a las propiedades del objeto.

Por ejemplo, supongamos que el jugador se come una bola, y se instancia un bloque detrás del jugador. Para ello podría poner el bloque como hijo del jugador y hacer que lo "siga" sumándole la distancia entre el jugador y el bloque a cada vez a su posición, el problema viene cuando el jugador se come una segunda bola y se quiere instanciar un segundo bloque detrás del primero. ¿Hay alguna forma de acceder a la propiedad transform del primer bloque ingame para calcular la distancia entre el primer y el segundo bloque?

Cabe aclarar que estoy intentando programar este juego a pelo en Unity evitando ver cualquier tutorial de como hacer un Snake en Unity, así que si os parece una idea disparatada lo que estoy preguntando, no dudéis en decírmelo.

Un saludo y gracias.

Naith

¿Y si haces que el jugador tenga una variable que sea un ArrayList de "bloques" y que cada bloque tenga unas coordenadas del escenario?. Cuando se avanza cada bloque obtiene las coordenadas del bloque que está una posición (del ArrayList )delante del mismo. Y cuando comes añades un bloque al ArrayList con unas coordenadas que sean una posición por detrás (del escenario), para esto puedes compara los dos últimos bloques y determinar la posición del nuevo.

1 respuesta
marod

#2 Coño... pues también es verdad. Sería una posible solución.

Vancete

Quizás una solución sencilla sería tener una variable del tipo GameObject que fuese 'lastBlock', luego un script en esos bloques que se posicionen en función de ese lastBlock.

Usuarios habituales

  • Vancete
  • marod
  • Naith