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 ?
Réponse
Trop de publicités?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é.