Comment faire pour affecter le contenu d'une chaîne de caractères dans un champ de texte dans l'Unité 4.6?
Je suis en train de travailler sur une classe C# que l'importation des données de texte à partir d'un site web. Qui fonctionne OK. Où je suis en train de le perdre est de savoir comment afficher le texte dans l'Unité de 4,6 une fois que j'ai tout le texte dans une variable de chaîne. Tout conseil est le bienvenue.
OriginalL'auteur jadkins4 | 2014-10-27
Vous devez vous connecter pour publier un commentaire.
Unity 4.6 INTERFACE utilisateur du système a composant nommé
Text
. Vous pouvez visionner le tutoriel vidéo ici. Aussi je vous suggère de vérifier son API.Comme toujours, vous avez deux options pour ajouter ce composant à l'objet de jeu. Vous pouvez le faire à partir de l'éditeur (cliquez sur jeu d'objets que vous voulez avoir cette composante dans la hiérarchie et ajouter
Text
composant). Ou vous pouvez le faire à partir d'un script à l'aide degameObject.AddComponent<Text>()
.Dans le cas où vous n'êtes pas familier avec les composants encore, je vous suggère de lire ce l'article.
De toute façon, dans votre script, vous aurez besoin d'ajouter
using UnityEngine.UI;
tout en haut, parce que laText
classe est enUnityEngine.UI
espace de noms. Ok, donc maintenant de retour pour le script qui va définir la valeur deText
composant.Abord, vous avez besoin d'une variable qui fait référence à
Text
composant. Il peut être fait par le biais de l'exposer à de l'éditeur:Et attachant gameObject avec le texte de cette valeur dans l'Éditeur.
Une autre option:
Script précédent n'est pas un bon exemple, car
GetComponent
est effectivement cher. De sorte que vous pouvez mettre en cache la référence:BTW, le crépitement de la "GetComponent ou Ajoutez-le si il n'existe pas encore" est si commune, que d'habitude dans l'Unité que vous souhaitez définir en fonction
De sorte que vous pouvez l'utiliser comme:
Vous êtes les bienvenus!
OriginalL'auteur d12frosted
assurez-vous que vous importez la bibliothèque d'interface utilisateur -
using UnityEngine.UI
gameObject.GetComponent<Text>().text
- remplacer .texte avec n'importe quel autre champ de Texte de l'INTERFACE utilisateurOriginalL'auteur ina
Je suppose que le problème est la création de dynamiques de taille "zone de texte" plutôt que de simplement en affectant la chaîne à un GUIText GameObject. (Si ce n'est pas juste mettre un GUIText GameObject dans votre scène, d'y accéder via un GUIText variable dans votre script et utiliser myGUIText.texte = myString de Départ ou de mise à Jour.)
Si je suis bon dans mon hypothèse, alors je pense que vous devriez être à l'aide d'une interface graphique Étiquette:
http://docs.unity3d.com/ScriptReference/GUI.Label.html
Si vous avez besoin de partager la chaîne jusqu'à la place du texte dans les différentes étiquettes ou GUITexts, vous aurez besoin d'utiliser les sous-chaînes
Ah désolé j'ai mal compris. Vous devriez être en mesure d'accéder à la documentation pour les nouvelles fonctionnalités localement, mais je ne crois pas qu'ils sont disponibles en ligne encore. (J'ai peut-être tort, mais je ne peux pas le trouver) Un exemple peut être trouvé dans cette vidéo autour de 20:21 unity3d.com/learn/tutorials/modules/beginner/...
Pas un problème. J'ai été d'étudier les nouvelles fonctionnalités. Une chose que j'ai oublié a été de choisir la nouvelle Unité de 4.6 INTERFACE utilisateur de redimensionner l'icône en haut à gauche de l'écran avant d'essayer de redimensionner l'objet texte. Si j'utilise le classique icône de redimensionnement, les polices deviennent d'énormes lors d'un redimensionnement de l'objet.
OriginalL'auteur Owen McConnell