Noticias

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

Problema al desactivar OnGUI.

Iniciado por Ness, Agosto 01, 2015, 05:03:57 AM

Tema anterior - Siguiente tema
Agosto 01, 2015, 05:03:57 AM Ultima modificación: Agosto 01, 2015, 05:17:59 AM por nestorjaviersolera
hola presento el siguiente inconveniente le acabo de añadir la barra de vida a mi enemigo funciona bien el problema que tengo es que quiero la barra de vida sea dinámica, me explico quiero que cuando golpe un enemigo cualquiera inmediatamente se muestre su nivel de vida en una parte de arriba en la barra roja, pero por ahora solo me muestra el de un enemigo a la ves y no se como desactivarla , para que se active la del enemigo que estoy atacando en ese preciso momento. Les agradecería una solución:  Aquí dejo  las variables relacionadas:
 public GUIStyle barraVida;    public Texture2D imagenFondo;    public Texture2D imagenFrente;    public float EnergiaEnemigo = 160f;  void OnGUI()
    {           GUI.BeginGroup (new Rect (10, 10, 256, 16));
        GUI.Box (new Rect (0, 0, 256, 32), imagenFondo, barraVida);
        
        GUI.BeginGroup (new Rect (0, 0, EnergiaEnemigo,16));
        GUI.Box (new Rect (0, 0, 256, 32), imagenFrente, barraVida);
        
        GUI.EndGroup ();
        GUI.EndGroup ();        
    }[/quote] Aca dejo un un video donde se muestra el problema.ejemplo.mp4

Ahora mismo estás usando un gráfico (UI ) estático en pantalla. Sólo necesitas hacer un script que recoja ese elemento y en su lugar lo sutituya por el "elemento" que haya recibido el golpe (sea el enemigo o el player).En cualquier caso, estamos ya por la versión 5.1 de Unity, que cambia muchas cosas de la GUI. Te recomiendo que te pases al nuevo método para UI, porque de otra forma te darán problemas y errores que no puedas comprender y, menos aún, resolver.

[quote author=pioj" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15871" data-ipsquote-contentcommentid="101038 date=1438427211]Ahora mismo estás usando un gráfico (UI ) estático en pantalla. Sólo necesitas hacer un script que recoja ese elemento y en su lugar lo sutituya por el "elemento" que haya recibido el golpe (sea el enemigo o el player).En cualquier caso, estamos ya por la versión 5.1 de Unity, que cambia muchas cosas de la GUI. Te recomiendo que te pases al nuevo método para UI, porque de otra forma te darán problemas y errores que no puedas comprender y, menos aún, resolver.[/quote]si pero es que cambas lo he utilizado pero no solo para menús, no me encontré información relacionado con la infecciona de enemigos ademas gracias por colaborarme.

publico la solucion que me encontre si alguno le llega  a pasar lo mismo o si quierevoid OnGUI()
    {
        if(desactivadorGui ==  true && activadorQuitavida == false) 
        {
            BARRAVIDA = false;
            desactivadorGui = false;
        }        else if(BARRAVIDA == true   )
           {            Debug.Log ("llegue a gui");
        GUI.BeginGroup (new Rect (10, 10, 256, 16));
        GUI.Box (new Rect (0, 0, 256, 32), imagenFondo, barraVida);
        
        GUI.BeginGroup (new Rect (0, 0, EnergiaEnemigo,16));
        GUI.Box (new Rect (0, 0, 256, 32), imagenFrente, barraVida);
        
        GUI.EndGroup ();
        GUI.EndGroup ();
           }
        
    }

Etiquetas: