Zoom et Dézoom au doigt pour 2d

Toutes les questions sur le développement Mobile, y compris la partie script.
Répondre
kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Zoom et Dézoom au doigt pour 2d

Message par kosted » 11 Nov 2016 14:48

Bonjour à tous,
J'essaie de mettre en place un système de zoom et de dézoom pour une carte 2d dans mon jeu mobile mais je n'y arrive pas. J'ai trouvé des tutos mais ils expliquent comment le faire avec la molette de la souris mais pas avec les doigts.
Quelqu'un pourrait me donner une piste sur comment faire ?

Merci d'avance.

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Zoom et Dézoom au doigt pour 2d

Message par F@B » 11 Nov 2016 15:40

tout est la ! :diable: X|

http://bfy.tw/8hil
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: Zoom et Dézoom au doigt pour 2d

Message par kosted » 11 Nov 2016 15:50

F@B a écrit :tout est la ! :diable: X|

http://bfy.tw/8hil
AHAHAHA merci. Je n'aurait jamais trouvé tout seul vu que je ne connais pas le terme "Pinch". Merci beaucoup

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Zoom et Dézoom au doigt pour 2d

Message par kosted » 12 Nov 2016 03:41

J'ai testé le code, le code est correct mais rien ne se passe.

Quelqu'un n'aurait pas une idée de où le problème pourrait venir ?

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: Zoom et Dézoom au doigt pour 2d

Message par kosted » 14 Nov 2016 03:29

En testant le script dans une vue 3d, il fonctionne. J'arrive à zoomer et dézoomer. Le problème qui se pose est que je n'arrive pas à faire cela quand je suis sur une canvas. Rien ne se passe.

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Zoom et Dézoom au doigt pour 2d

Message par F@B » 14 Nov 2016 09:45

il parait évident que le script sur le lien est pour déplacer un Transform sur Z et donc pas vraiment zoomer.
Et Zoomer sur une UI ça ne peux pas marcher !!!! c'est un overlay de camera

si j'ai bien deviné ce que tu voulais faire, soit zoomer sur un UI... ou si tu veux utiliser le script au travers d'une UI, il te suffit de le modifier en fonction avec les Events de l'UI

que veux tu faire... et surtout ne serait-il pas le temps de te former un minimum aux bases
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: Zoom et Dézoom au doigt pour 2d

Message par kosted » 14 Nov 2016 11:48

F@B a écrit :il parait évident que le script sur le lien est pour déplacer un Transform sur Z et donc pas vraiment zoomer.
Et Zoomer sur une UI ça ne peux pas marcher !!!! c'est un overlay de camera

si j'ai bien deviné ce que tu voulais faire, soit zoomer sur un UI... ou si tu veux utiliser le script au travers d'une UI, il te suffit de le modifier en fonction avec les Events de l'UI

que veux tu faire... et surtout ne serait-il pas le temps de te former un minimum aux bases
Je connais les bases vu que cela fait plus de 2 ans que je bosse avec Unity. Je n'ai juste pas pris le temps de me pencher sur le script. J'ai trouvé une autre question où Iwa confirmait ce que vous venez de dire, que le zoom est impossible sur une UI. Je pense que je suis bon pour développer une solution maison en agrandissant la taille de l'image suivant les les mouvements avec les doigts. Si j'arrive à le faire, je posterai le script ici, ça peut toujours servir.

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Zoom et Dézoom au doigt pour 2d

Message par F@B » 14 Nov 2016 12:07

Tu peux bien Scaler ton RectTransform fonction du pinch non ?
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: Zoom et Dézoom au doigt pour 2d

Message par kosted » 14 Nov 2016 12:09

F@B a écrit :Tu peux bien Scaler ton RectTransform fonction du pinch non ?
Oui c'est tout à fait possible.

kosted
Messages : 258
Inscription : 20 Avr 2015 18:21

Re: Zoom et Dézoom au doigt pour 2d

Message par kosted » 14 Nov 2016 18:00

Code : Tout sélectionner

 using UnityEngine;
 
 public class PinchZoom : MonoBehaviour
 {
     public Canvas canvas; // The canvas
     public float zoomSpeed = 0.5f;        // The rate of change of the canvas scale factor
     
     void Update()
     {
         // If there are two touches on the device...
         if (Input.touchCount == 2)
         {
             // Store both touches.
             Touch touchZero = Input.GetTouch(0);
             Touch touchOne = Input.GetTouch(1);
 
             // Find the position in the previous frame of each touch.
             Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
             Vector2 touchOnePrevPos = touchOne.position - touchOne.deltaPosition;
 
             // Find the magnitude of the vector (the distance) between the touches in each frame.
             float prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude;
             float touchDeltaMag = (touchZero.position - touchOne.position).magnitude;
 
             // Find the difference in the distances between each frame.
             float deltaMagnitudeDiff = prevTouchDeltaMag - touchDeltaMag;
 
             // ... change the canvas size based on the change in distance between the touches.
             canvas.scaleFactor -= deltaMagnitudeDiff * zoomSpeed;
 
             // Make sure the canvas size never drops below 0.1
             canvas.scaleFactor = Mathf.Max(canvas.scaleFactor, 0.1f);
         }
     }
 }
Voilà voilà, si ça peut aider quelqu'un

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »