Jump to content
xcqoax

ayuda con mostrar texto (solucionado)

Recommended Posts

Hola saludos, tengo un problema. deseo que tocar un objeto (trigger) me muestre un texto en pantalla. cree el uitext y lo ancle a dicho objeto pero no consigo que cuando yo entre al trigger se muestre dicho objeto y cuando salga desaparezca. al objeto (trigger) le puse el script. agradecere mucho su ayuda.

function OnTriggerEnter (col:Collider)

{

GetComponentInChildren(GUIText).enabled=true;

} 

function OnTriggerExit (col:Collider)

{

GetComponentInChildren(GUIText).enabled=false;

}

 

Edited by xcqoax

Share this post


Link to post
Share on other sites

Has comprobado que entra en el trigger? Si no es así, tienen colliders los objetos que chocan entre sí y están activos los triggers en los colliders del que recibe el choque y tiene el código que muestras?

Por otro lado, mejor ya usar el GUI que salió a partir de la 4.6, o sea, Text no GUIText.

Saludos

Share this post


Link to post
Share on other sites
si entra en el trigger, ya que el mismo objeto al tocarlo se destruye (claro que para esta modificación marque como comentario que el objeto se destruya).

var texto: Guitext;

function OnTriggerEnter (col:Collider)

{

texto..enabled=true;

} 

function OnTriggerExit (col:Collider)

{

texto..enabled=false;

}

Share this post


Link to post
Share on other sites

Creo que el enabled directamente no te va a funcionar. Prueba el

Texto.GetComponent<Renderer>().enabled ...

Share this post


Link to post
Share on other sites

algo asi te refieres:

function OnTriggerEnter (col:Collider)
{
texto.GetComponent<Renderer>().enabled=true;

function OnTriggerExit (col:Collider)
{
texto.GetComponent<Renderer>().enabled=false;
}

Share this post


Link to post
Share on other sites

Si exacto. Eso sería para recoger el renderer. Pensando, creo que más fácil:

        texto.gameObject.SetActive(true)

para activar

 

Share this post


Link to post
Share on other sites

ya logre mostrar el texto en pantalla al momento de acercarme al objeto.

var texto: Transform;   //la posicion del texto en 3D

function OnTriggerEnter (col:Collider)   //si entra en el trigger guarda colision
{
if (col.gameObject.tag=="player")   // si la colison fue con un game object con la etiqueta player
  {
texto.gameObject.SetActive(true);  // se actuivara el gameibject texto.
  }
}  
function OnTriggerExit (col:Collider)  // al salir de la colision se desctiva el gameobject texto
{
if (col.gameObject.tag=="player")   
  {
texto.gameObject.SetActive(false);
  }
}

 

no se si sea el mejor codigo pero al menos a mi me funciona. por cierto. el texto debe estar en la camara del jugador. si a alguien le sirve o lo puede mejorar se agradecere. y gracias iRobb

Share this post


Link to post
Share on other sites

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...