Jump to content

francoe1

Admins
  • Content Count

    1,144
  • Joined

  • Last visited

  • Days Won

    81

Everything posted by francoe1

  1. @Megadok Justamente por eso defines el GUILayout para que siga siendo "dinámico", de ese modo no tendrías ninguna desventaja.
  2. Si quieres usar las fuentes con TMP tienes que crear el ASSETs, busca en internet hay muchos tutoriales.
  3. Prueba definir un layout horizontal y dibujar la imagen con GUi.DrawTexture private void DrawTexture(Texture2D texture, int w, int h) { using(new GUILayout.HorizontalScope(GUILayout.Width(w), GUILayout.Height(h))) { Rect rect = GUILayoutUtility.GetLastRect(); GUI.DrawTexture(rect, texture); } }
  4. Te recomiendo no USAR layouts.. Fíjate usando GUILayout.ExpandWidth(false) "para el alto lo mismo".
  5. francoe1

    Script

    Te recomiendo ver y leer información sobre C# y la programación orientada a objetos.
  6. Solucionamos el problema con @Quel, ¡no alegra verte por el foro nuevamente!
  7. ¿Lo que sugieres es modificar el Bootstrap de UnityWeb?
  8. ¿Cuándo dices "Apache" a que te refieres realmente? Me cuesta entender algunos conceptos - ¿Quizás la carga de los archivos .gz desde el cliente "descomprimidos" exceden el tiempo de solicitud?
  9. Cuando dices no lee .gz a qué te refieres?
  10. PUNTO A y B también son objetos del canvas?
  11. Te envié un email a fin de solucionar tu problema.
  12. 1 - El pivote de cada parte en el centro de la circunferencia. 2 - Obtener la dirección de cara parte, puedes tener como referencia el índice de emparentado. 3 - Mueves el objeto en su posición local. private Vector3 m_startPosition {get;set;} private Vectro3 m_offset {get;set;} private void Update() { m_offset = dir * space; transform.localposition = m_startPosition + m_offset; } Recuerda que la posición de la UI cambia según la posición de los anclajes.
  13. UnityEngine.input.GetKeyDown no hace parte de System Input, por esa razón la advertencia. Puedes trabajar con los dos sistemas a la vez configurándolo desde PlayerSettings.
  14. @Seul Es una regla del foro presentarse correctamente. En cuanto a tu problema necesitarás aprender más sobre el tema, es complicado darte una respuesta simple a esto.
  15. Quizás algún componente se está ejecutando en EditMode.
  16. Para que las sugerencias funcionen debes abrir el Proyecto en Visual Studio, si solo abres el archivo de forma independiente entonces no funcionorá.
  17. El problema es que estás confundiendo o desconoces el significado de Runtime en este contexto. Runtime = Juego compilado (cliente) PlayMode = Juego funcionando dentro del Editor Editor = Herramienta funcionando dentro del Editor en sin estar en Play. ¡Lo anteriormente comentado es para que luego no tengas problemas al preguntar!
  18. ¡No se puede compilar la librería UnityEditor!
  19. 1 - obtener el vector de dirección entre la posición y el objetivo. 2 - multiplicar el vector de dirección (paso 1) por la distancia. 3 - sumar el vector offset (paso 2) a vector objetivo.
  20. No existe un método para tal situación. Lo que podrías hacer es crear un variable booleana para identificar si la acción que deseas ya se ejecutó.
  21. Me refiero a que no se está cumpliendo en todos los casos la condición de que se colisione con un objeto que tenga el Tag Enemy y el componente EnemyHealthManager. Por esta razón te recomiendo compruebes antes de usar la referencia a EnemyHealthManager. private void OnTriggerEnter(Collider other) { if(other.tag == "Enemy") { EnemyHealthManager com = other.GetComponent<EnemyHealthManager>(); if(com != null) com.TakeDamage(); } }
  22. Hola, Jesus, quizás es por que el objeto colisiona con un objeto que tiene el Tag Enemy pero no el componente EnemyHealthManager. Antes de llamar a TakeDamage deberías verificar si el collider contiene el componente.
  23. Optaría por un Remplace, obteniendo la ruta absoluta con Application.dataPath o similar.
  24. OnDisable se activa por que estás descargando y cargando la escena. Para detectar la eliminación de un Objeto deberías evaluar el comando del evento actual desde una clase que se ejecute en el editor. Event.current.commandName == "Delete" También puedes utilizar la bandera "isEditor" dentro del OnDestroy private void OnDestroy() { if (Application.isEditor) Debug.Log("Lalala"); } Pero recuerda, una vez llamada la función OnDestroy el objeto se marcó como destruido, esto quiere decir que si intentas acceder a una de sus propiedades obtendrás un error.
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...