Bonjour a tous,
Je commence gentiment a dev sur iphone et ipad ,j'ai trouvé une technique pour la detection du toucher sur une guit texture mais j'ai un message d'erreur: BCW0012: WARNING: 'UnityEngine.iPhoneInput.touches' is obsolete. touches property is deprecated. Please use Input.touches instead.
meme si cela fonctionne il semblerait que je n'utilise pas la bonne démarche voila mon script que j'utilise:
function Update () {
if(iPhoneInput.touchCount > 0) {
var touch: iPhoneTouch = iPhoneInput.touches[0];
if(touch.phase == iPhoneTouchPhase.Began && guiTexture.HitTest(touch.position)) {
Application.LoadLevel ("Vegas");
}
}
}
merci pour ceux qui pourront me renseigner
Touch detect on guitexture
-
- Messages : 163
- Inscription : 30 Juin 2010 00:53
Re: Touch detect on guitexture
Bonjour,
Je ne programme pas sur mobile par contre je peux surement te renseigner sur ton erreur.
UnityEngine.iPhoneInput.touches est obsolète (marche pour des versions antérieurs mais n'est plus à l'ordre du jour pour ta version). Il faut que tu utilises Input.touches à sa place.
Dans ton code il faut donc changer la ligne :
Par :
Je ne programme pas sur mobile par contre je peux surement te renseigner sur ton erreur.
UnityEngine.iPhoneInput.touches est obsolète (marche pour des versions antérieurs mais n'est plus à l'ordre du jour pour ta version). Il faut que tu utilises Input.touches à sa place.
Dans ton code il faut donc changer la ligne :
Code : Tout sélectionner
var touch: iPhoneTouch = iPhoneInput.touches[0];
Code : Tout sélectionner
var touch: iPhoneTouch = Input.touches[0];
A3G - WarGround
DevBlog
DevBlog
-
- Messages : 163
- Inscription : 30 Juin 2010 00:53
Re: Touch detect on guitexture
merci pour ton aide sa ma mis sur la bonne piste...
il fallait juste enlever tous les " iphone" qui ne sont plus nécessaire.
function Update () {
if(Input.touchCount > 0 && on==true) {
var touch: Touch = Input.touches[0];
if(touch.phase == TouchPhase.Began && guiTexture.HitTest(touch.position)) {
Application.LoadLevel ("Vegas");
}
}
}
encore merci
il fallait juste enlever tous les " iphone" qui ne sont plus nécessaire.
function Update () {
if(Input.touchCount > 0 && on==true) {
var touch: Touch = Input.touches[0];
if(touch.phase == TouchPhase.Began && guiTexture.HitTest(touch.position)) {
Application.LoadLevel ("Vegas");
}
}
}
encore merci
Re: Touch detect on guitexture
Bonjour,
Je suis très intéressé pour ce sujet, en fait je suis débutante en unity 3d j'ai crée une personnage animé avec animeeple et je l'ai importer sur unity et j'ai créer des cubes au niveau de tête et au coeur de tel sorte quand je clique sur la tête une animation se déclenchera de même pour le coeur. j'ai réussi à le faire avec la fonction OnMouseDown() mais je me suis bloquée à l'exportation sur iphone.
Est ce que j’utilise la même fonction de touch de royalskunk sachant que j'ai pas utilisé GUI.
La version de unity que je l'ai est 3.1
Je vous bien remercie pour votre aide et votre conseil.
Je suis très intéressé pour ce sujet, en fait je suis débutante en unity 3d j'ai crée une personnage animé avec animeeple et je l'ai importer sur unity et j'ai créer des cubes au niveau de tête et au coeur de tel sorte quand je clique sur la tête une animation se déclenchera de même pour le coeur. j'ai réussi à le faire avec la fonction OnMouseDown() mais je me suis bloquée à l'exportation sur iphone.
Est ce que j’utilise la même fonction de touch de royalskunk sachant que j'ai pas utilisé GUI.
La version de unity que je l'ai est 3.1
Je vous bien remercie pour votre aide et votre conseil.
Re: Touch detect on guitexture
utilse des raycast qui parte de la camera.
tu recupere la coordonne du touch.
et tu utilose une fct du style screenpoint to raycast, ca te lancera un rayon de ta camera et ds la direction du touch ecran rapporter en coordonne 3d, ce que fais le mousedown d ailleur en fait
ensuite si le rayon entre en contact avec tes cube il sera detecter, comme un simple trigger
tu recupere la coordonne du touch.
et tu utilose une fct du style screenpoint to raycast, ca te lancera un rayon de ta camera et ds la direction du touch ecran rapporter en coordonne 3d, ce que fais le mousedown d ailleur en fait
ensuite si le rayon entre en contact avec tes cube il sera detecter, comme un simple trigger
Re: Touch detect on guitexture
Merci beaucoup pour votre aide
je suis désolée pour le dérangement mais avez vous un exemple ou une documentation qui peut m'aider et claire
Ce que vous m'avez expliqué me semble flou car j'ai aucune aidé sur les raycast et la fonction screenpoint to raycast
même la méthode comment les utiliser car je suis très débutante en unity j'ai cherché partout dans les forums j'ai trouvé des réponses mais je ne comprend pas de quoi il s'agit
S'il vous plait vous pouvez m'aider et grannnnd merci.
je suis désolée pour le dérangement mais avez vous un exemple ou une documentation qui peut m'aider et claire
Ce que vous m'avez expliqué me semble flou car j'ai aucune aidé sur les raycast et la fonction screenpoint to raycast
même la méthode comment les utiliser car je suis très débutante en unity j'ai cherché partout dans les forums j'ai trouvé des réponses mais je ne comprend pas de quoi il s'agit
S'il vous plait vous pouvez m'aider et grannnnd merci.
Re: Touch detect on guitexture
Bonjour
Je vous bien remercie pour votre conseil
en fait j'ai testé avec un cube si l 'on touche une simple rotation sera créer
function Update () {
for (var touch : Touch in Input.touches) {
if (touch.phase == TouchPhase.Began) {
var ray = Camera.main.ScreenPointToRay (touch.position);
if (Physics.Raycast (ray)) {
transform.Rotate(Vector3.up*(100.0*Time.deltaTime));
}
}
}
}
et j'ai attaché ce bout de code au cube.
quand je l'ai exécuté sur iphone Le problème c'est que quand je touche le cube n'importe quel objet qui se trouve sur la scène fait une rotation pareil malgré que le code et attaché au cube pas aux autres objets alors que je veux quand je clique sur un objet spécifique un évènement se déclenchera.
s'il vous plait vous pouvez m'aider à résoudre ce problème.Merci
Je vous bien remercie pour votre conseil
en fait j'ai testé avec un cube si l 'on touche une simple rotation sera créer
function Update () {
for (var touch : Touch in Input.touches) {
if (touch.phase == TouchPhase.Began) {
var ray = Camera.main.ScreenPointToRay (touch.position);
if (Physics.Raycast (ray)) {
transform.Rotate(Vector3.up*(100.0*Time.deltaTime));
}
}
}
}
et j'ai attaché ce bout de code au cube.
quand je l'ai exécuté sur iphone Le problème c'est que quand je touche le cube n'importe quel objet qui se trouve sur la scène fait une rotation pareil malgré que le code et attaché au cube pas aux autres objets alors que je veux quand je clique sur un objet spécifique un évènement se déclenchera.
s'il vous plait vous pouvez m'aider à résoudre ce problème.Merci