Bonjour,
j’essaye depuis peu de créer des infobulles pour l’interface de mon jeu. Celle-ci est générée dans la fonction OnGui
et utilise par conséquent la classe GUI
.
Pour réaliser mes infobulles, j’ai utilisé la propriété GUI.tooltip
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // Génération des éléments de l'interface GUILayout.BeginArea(new Rect(4, 4, Screen.width - 4, TAILLE - 4)); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(false)); GUILayout.Label(new GUIContent("Mon label","Infobulle"), GUILayout.ExpandWidth(false)); GUILayout.EndHorizontal(); GUILayout.EndArea(); // ... du code ... // Génération de l'infobulle if (GUI.tooltip != string.Empty) { Cursor.visible = false; GUI.skin = toolTipSkin; GUI.BeginGroup(new Rect(Event.current.mousePosition.x, Event.current.mousePosition.y, TOOLTIP_MAX_WIDTH, 500)); GUILayout.Box(GUI.tooltip, GUILayout.MaxWidth(TOOLTIP_MAX_WIDTH)); GUI.EndGroup(); } else Cursor.visible = true; |
Cependant ça ne marche pas et j’obtiens l’erreur : ArgumentException: Getting control 0's position in a group with only 0 controls when doing Repaint Aborting
.
J’ai vu que l’utilisation de OnGui
était particulière et on m’a même recommandé de ne pas l’utiliser.
Que faire, et comment puis-je arriver à mes fins ?
Merci d’avance !
+0
-0