3 votes

Comment obtenir le défilement de la souris à partir du pavé tactile ?

Input.mouseScrollDelta ne change que pour une molette de défilement de souris physique. Il ne change pas pour un geste de défilement à deux doigts sur une tablette tactile (bien que l'icône de défilement apparaisse et fonctionne dans d'autres programmes). Input.GetAxis("Mouse ScrollWheel") a le même effet. Input.touchCount (ou tout ce qui concerne le tactile) ne concerne que les écrans tactiles et ne m'aide pas à faire mon propre contrôle de défilement sur un pavé tactile. Je suis donc à court d'idées. Comment suis-je censé savoir que je fais défiler les pages sur la tablette tactile d'un ordinateur portable ?

2voto

Athanasios Kataras Points 1140

Puisque vous l'avez étiqueté Unity3d, peut-être que cela vous aidera à surmonter : https://answers.unity.com/questions/356767/how-to-get-scrollwheel-values-using-a-laptop-touch.html

public void OnGUI()
 {
     if(Event.current.type == EventType.ScrollWheel)
         // do stuff with  Event.current.delta
         Debug.Log(Event.current.delta);
 }

En OnGui peut être trouvée ici : https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnGUI.html

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 150, 100), "I am a button"))
        {
            print("You clicked the button!");
        }
    }
}

OnGUI est appelé pour le rendu et la gestion des événements de l'interface graphique.

Cela signifie que votre implémentation OnGUI peut être appelée plusieurs fois par trame (un appel par événement). Pour plus d'informations sur les événements de l'interface graphique, consultez la référence sur les événements. Si la propriété enabled du MonoBehaviour est définie à false, OnGUI() ne sera pas appelé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X