Jump to content
UnitySpain

Search the Community

Showing results for tags 'ugui'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Inicio
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Otras Especialidades
    • Builds & Dispositivos
  • Aportes de la Comunidad
    • Recursos
    • Eventos
    • Buenas Prácticas
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

  • byGui
  • El Blog de Pioj

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 4 results

  1. Saludos, Tengo con un problema con la programación de unos toggles de una interfaz. Son 4 toggles dentro de un toggle group. Cada toggle activa el panel de habilidades de un personaje en concreto. Funcionaban perfectamente hasta que estuve añadiendo la funcionalidad en la que al seleccionar un toggle cuando ya está activo, te centra la cámara al personaje correspondiente. Però esto lo hice dentro del Update(), y no en el método que se activa al seleccionar el toggle. Ahora pues, aunque se activan los toggles (En el inspector se activa el booleano “Is On”), ya no se activa el panel de habilidades. Este es el código que se activa al seleccionar uno de los toggles (los demás siguen la misma estructura): public void BtnCamaleon (bool nuevoValor) { print ("Valor nuevoValor: " + nuevoValor); btn01.transform.SetSiblingIndex(1); btn02.transform.SetSiblingIndex(2); btn03.transform.SetSiblingIndex(3); btn04.transform.SetSiblingIndex(4); btn05.transform.SetSiblingIndex(5); if (!camaleonDentroNave) { //Si el PJ está fuera de la nave, activa el panel normal panelCamaleon.SetActive(nuevoValor); }else{ //Si el PJ está dentro de la nave, activa el panel de nave if (naveActiva) panelCamaleonNave.SetActive(nuevoValor); } } Cuando seleccionas el toggle, el print() saca por consola que el valor sigue siendo FALSE, por lo que deduzco que el código se ejecuta y que el problema está en que, aunque gráficamente se activa el toggle y en el inspector aparece el booleano Is On activado, no se porque motivo el valor se mantiene en FALSE, y esto lleva a que no se active el panel de habilidades. He probado muchas cosas y no encuentro que puede ser. A alguien se le ocurre alguna solución? No soy muy experto aún, pero tengo la sensación de que se debe haber bugueado Unity o algo similar, ya que si se activa el toggle y se ejecuta el código, el print() deberia devolver valor TRUE sin dudarlo, me equivoco? Muchísimas gracias de antemano!
  2. Saludos a todos. Tras muchas búsquedas sin éxito, por fin he encontrado un Joystick analógico virtual (en pantalla) para tablets y smartphones, pero que se base por fin en el uso de la nueva GUI que tiene Unity desde la 4.6.x. He tenido la oportunidad de probarlo, y tras unas leves modificaciones ya funciona para versiones 5.0 en adelante. Lo he reducido de tamaño con sólo lo necesario y lo he vuelto a empaquetar. El Package en cuestión lleva una scene de prueba que mueve una píldora por un escenario cerrado, para probar colisiones. El Joystick como tal se encuentra dentro de un panel, dentro del Canvas (como toca). Enlace: http://www.filedropper.com/uguijoystick Espero que os sirva tanto como a mí, y que le deis mucho uso!
  3. Buenos días, compañeros. Tengo una duda sobre cómo afrontar un proyecto. El tema es que este proyecto consiste en mostrar una interfaz parecida a lo que sería el escritorio de Windows o Mac, la cual tendrá una serie de accesos directos que abrirán aplicaciones (ficticias) en las cuáles se puede escribir. Por ejemplo, un escritorio que tiene un acceso directo a la aplicación MAIL y que, al abrirla, permite consultar correos y escribir nuevos (todo ficticio, evidentemente). También habría una aplicación que abriría vídeos. Mi duda es si es mejor encarar este proyecto haciendo el escritorio como si fuera un juego 2D, o si directamente debería ser todo interfaz de usuario (uGUI). Quisiera saber cuáles son vuestros consejos. Gracias de antemano.
  4. Chavales, os traigo esta pequeña maravilla procedente de uno de los hilos del foro oficial de Unity3D. Es un efecto para añadir un gradiente de color a vuestros paneles, imágenes y textos, hechos en UnityGUI (4.6x - 5.0). Un must-have en toda regla. El mismo autor también ha hecho un efecto para usar blending. Podéis encontrar más información aquí: http://forum.unity3d.com/threads/scripts-useful-4-6-scripts-collection.264161/page-2#post-1925105 /* uGui-Effect-Tool Copyright (c) 2015 WestHillApps (Hironari Nishioka) This software is released under the MIT License. http://opensource.org/licenses/mit-license.php */ using UnityEngine; using System.Collections.Generic; using UnityEngine.UI; namespace UiEffect { [AddComponentMenu ("UI/Effects/Gradient Color")] [RequireComponent (typeof (Graphic))] public class GradientColor : BaseVertexEffect { public enum DIRECTION { Vertical, Horizontal, Both, } public DIRECTION direction = DIRECTION.Both; public Color colorTop = Color.white; public Color colorBottom = Color.black; public Color colorLeft = Color.red; public Color colorRight = Color.blue; Graphic graphic; public override void ModifyVertices (List<UIVertex> vList) { if (IsActive () == false || vList == null || vList.Count == 0) { return; } float topX = 0f, topY = 0f, bottomX = 0f, bottomY = 0f; foreach (var vertex in vList) { topX = Mathf.Max (topX, vertex.position.x); topY = Mathf.Max (topY, vertex.position.y); bottomX = Mathf.Min (bottomX, vertex.position.x); bottomY = Mathf.Min (bottomY, vertex.position.y); } float width = topX - bottomX; float height = topY - bottomY; UIVertex tempVertex = vList[0]; for (int i = 0; i < vList.Count; i++) { tempVertex = vList[i]; byte orgAlpha = tempVertex.color.a; Color colorOrg = tempVertex.color; Color colorV = Color.Lerp (colorBottom, colorTop, (tempVertex.position.y - bottomY) / height); Color colorH = Color.Lerp (colorLeft, colorRight, (tempVertex.position.x - bottomX) / width); switch (direction) { case DIRECTION.Both: tempVertex.color = colorOrg * colorV * colorH; break; case DIRECTION.Vertical: tempVertex.color = colorOrg * colorV; break; case DIRECTION.Horizontal: tempVertex.color = colorOrg * colorH; break; } tempVertex.color.a = orgAlpha; vList[i] = tempVertex; } } /// <summary> /// Refresh Gradient Color on playing. /// </summary> public void Refresh () { if (graphic == null) { graphic = GetComponent<Graphic> (); } if (graphic != null) { graphic.SetVerticesDirty (); } } } }
×
×
  • Create New...