Unité: Carte D'Entrée.GetButtonDown(“Jump”) dans iOS touch
Dans l'Unité, je peux utiliser Input.GetButtonDown("Jump")
pour obtenir obtenir la touche Espace par défaut. Comment puis-je carte d'écran tactile pour le "Saut" dans iOS?
Dans ce la documentation, il explique seulement l'obtention de touche en JavaScript. Alors que dans ce tutoriel vidéo, il ne mentionne à propos de Bouton. Est-il un moyen de mapper directement à écran tactile/geste à une action définie (comme le Saut) ?
Remarque: j'utilise mono C# script.
Pourquoi ne pas tout simplement créer un bouton et de le raccorder à qui? Sinon, vous auriez à travailler avec Entrée.touche/Entrée.GetTouch et la carte d'une région spécifique.
Cette question ne semble pas démontrer une compréhension de base de la programmation, mais votre rep suggère que nous ne sommes pas sur la même page. Pouvez-vous préciser? Essayez de lire la documentation pour les membres de l'Entrée de la classe avec le "Toucher" dans leur nom, d'abord.
l'interface utilisateur du jeu je travaille actuellement sur n'implique pas de boutons. En fait, transparent, les boutons ne peuvent pas être appliquées dans le projet actuel.
attendre. La Documentation ne mentionne pas sur la cartographie mobile des actions par défaut des entrées (comme le "Saut" de l'action) en Entrée Manager. Si vous avez de l'expérience dans l'Unité, vous savez de quoi je parle. Input Manager n'accepte que les Souris, Clavier & Joystick comme entrée.
L'Entrée Manager n'a pas été mis à jour depuis la pré-2005; il ne traite pas de Toucher des structures. Comment serait-ce même sens, bien que, à dire que chaque événement tactile est un "Saut"?
Cette question ne semble pas démontrer une compréhension de base de la programmation, mais votre rep suggère que nous ne sommes pas sur la même page. Pouvez-vous préciser? Essayez de lire la documentation pour les membres de l'Entrée de la classe avec le "Toucher" dans leur nom, d'abord.
l'interface utilisateur du jeu je travaille actuellement sur n'implique pas de boutons. En fait, transparent, les boutons ne peuvent pas être appliquées dans le projet actuel.
attendre. La Documentation ne mentionne pas sur la cartographie mobile des actions par défaut des entrées (comme le "Saut" de l'action) en Entrée Manager. Si vous avez de l'expérience dans l'Unité, vous savez de quoi je parle. Input Manager n'accepte que les Souris, Clavier & Joystick comme entrée.
L'Entrée Manager n'a pas été mis à jour depuis la pré-2005; il ne traite pas de Toucher des structures. Comment serait-ce même sens, bien que, à dire que chaque événement tactile est un "Saut"?
OriginalL'auteur Raptor | 2014-01-14
Vous devez vous connecter pour publier un commentaire.
Il y a plus d'une façon de se faire Toucher evens dans l'unité:
Ci-dessus illustre l'utilisation de D'entrée.GetTouch
Cependant, il existe une alternative, que j'ai tendance à préférer:
ou
L'utilisation D'entrée.GetMouseButtonDown et D'entrée.GetMouseButtonUp respectivement, ce qui non seulement déclencher le clic gauche de la souris, mais aussi de déclencher sur les événements tactiles pour iOS et Android. Comme le suggère le nom,
GetMouseButtonDown
se déclenche lorsque vous appuyez d'abord sur l'écran etGetMouseButtonUp
déclenche lorsque votre doigt versions. Vous aurez évidemment voulez ajouter quelques contrôles supplémentaires dans les il y, par exemple pour s'assurer que l'utilisateur n'essaie pas de glisser quelque chose, ou si il garde son doigt appuyé sur l'écran etc.Cependant, gardez à l'esprit que le ci-dessus va déclencher n'importe où vous cliquez sur, tant que le script contenant est active. Donc, si votre jeu a des boutons (que je devine que ce sera le cas), vous pourriez vérifier si le clic/touch est dans une certaine région, ou vous pouvez ajouter un plan transparent en face de la caméra et derrière vos boutons, puis vérifier pour les clics comme ceci:
Le ci-dessus ne sera déclenchée que si vous faites un clic gauche sur un gameObject avec un nom de votre choix (qui a aussi un collider) et il n'y a rien d'autre entre elle et la caméra. Un plan transparent va attraper tous vos clics, vous permettant de bâton d'autres éléments au-dessus d'elle.
Si je n'ai pas d'expliquer quelque chose de bien suffisant, ou si vous avez d'autres questions, crois-moi savoir et je vais essayer de préciser.
GetTouch(0)
, doit-on vérifier le nombre de touches existent, par exemple quelque chose commeif (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.TouchBegan)
?D'autre part, pouvons-nous nativement la carte dans l'Unité d'Entrée du Gestionnaire?
droit oui, j'ai oublié les touchcount peu. Je ne suis pas sûr que vous pouvez mapper Touche pour le saut, mais vous pouvez probablement de la carte du bouton gauche de la souris, qui, comme mentionné dans la réponse, double contact sur les smartphones.
Les moulins .le nom est une propriété de UnityEngine.Objet, pas seulement GameObject.
Je suppose que
hit.collider.name
donnerait le même nom, mais j'ai je me sens plus à l'aise de voir un gameObject quelque part. Vous pouvez même comparer le réel GameObject si il y a une référence à elle, mais les noms sont probablement plus facile.OriginalL'auteur Steven Mills