Zoom et Dézoom au doigt pour 2d
Zoom et Dézoom au doigt pour 2d
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.
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.
Re: Zoom et Dézoom au doigt pour 2d
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: Zoom et Dézoom au doigt pour 2d
AHAHAHA merci. Je n'aurait jamais trouvé tout seul vu que je ne connais pas le terme "Pinch". Merci beaucoup
Zoom et Dézoom au doigt pour 2d
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 ?
Quelqu'un n'aurait pas une idée de où le problème pourrait venir ?
Re: Zoom et Dézoom au doigt pour 2d
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.
Re: Zoom et Dézoom au doigt pour 2d
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
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 !
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: Zoom et Dézoom au doigt pour 2d
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.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
Re: Zoom et Dézoom au doigt pour 2d
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 !
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: Zoom et Dézoom au doigt pour 2d
Oui c'est tout à fait possible.F@B a écrit :Tu peux bien Scaler ton RectTransform fonction du pinch non ?
Re: Zoom et Dézoom au doigt pour 2d
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);
}
}
}