Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

reemplazar targets

Iniciado por bam-bam3d, Diciembre 27, 2015, 06:34:16 PM

Tema anterior - Siguiente tema
Hola gente!!! antes que nada les deseo un muy prospero y feliz año!Bueno al temilla: es muy simple y espero me puedan ayudar con algo, tengo una escena (seria un shooter) y lo que pretendo hacer es instanciar un nuevo enemigo cada vez q el player mata a uno, el tema es que ese enemigo inicial q esta en escena desde el principio tiene un target (de tipo GameObject) y funciona perfectamente ....pero al morir  se instancia un prefab q es una copia de este enemigo y aqui la cuestion este pierde el target en el script....probe de copiar al player en un prefab y asignarselo al script del enemigo que se va a instanciar , ahi no pierde el target pero no sigue al player, ni lo ataca ni nada ....osea sigue al punto en el que se creo el prefab del enemigo. puf espero se entienda!Lo q se me ocurre hacer es que en el script se busque el Tag del player y se lo asigne a la variable target del script del enemigo , y eso es lo q no me sale muchachos! gracias y saludos

Muestra tu script ,como va la cosa.

En el start() asigna al target el transform de tu jugador.
targetTransform = GameObject.Findwithtag("Tag").GetComponent<Transform>();
Con esa línea obtendrías el transform del jugador en el start, que si no estoy mal se ejecuta siempre cuando se instancia un objeto. Si prefieres buscar al target por el nombre del objeto sería GameObject.Find("nombreObjeto");

Lo más sencillo, para no realizar repetidamente GameObject.Findwithtag, es emparentar dentro de un empty GameObject al enemigo o enemigos, para poder seleccionar uno o todos los children.Por supuesto, el empty GameObject nunca se eliminaría.

Gracias http://unityspain.com/profile/26011-juanma_teso/?do=hovercard&referrer=http%253A%252F%252Funityspain.com%252Ftopic%252F34784-reemplazar-targets%252F" title="Go to juanma_teso's profile" id="ips_uid_3" style="box-sizing: border-box; color: inherit; text-decoration: none; outline: 0px; background-color: transparent;" href="<___base_url___>/profile/26011-juanma_teso/">juanma_teso es justo la idea de lo que estaba necesitando ...lo pruebo y les comento!!!!

Chicos me tira un error y no entendi el porque (les comparto imagenes):


No sé si sea porque declaras la variable como 'Target' y en el start usas 'targetTransform' (?)... además estaría bien que revisaras la documentación porque creo que es 'FindWithTag("")' en mayúsculas... cuidado con eso

Listo gente lo solucione y funciona perfectamente!!!! mi error era buscar el Gameobject por su nombre de tag, la historia era buscarlo presisamente por el nombre del mismisimo Gameobject!!!! gracias !

Pues usa Find("LoqueSea")Lo que se recomienda es que no uses esos métodos en tiempos de ejecución y a ser posible referencies antes el objeto, si no es posible pues usa Find.

Etiquetas: