Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: La roulette de la souris avec les méthodes Flash et le wheelDelta / onmousewheel de IE?
Envoyé: 5 février 2004, 8h31 par Oznog
C'est possible mais exclusivement avec IE6+. Ça n'a donc rien à voir avec Flash.
IE6 identifie maintenant l'événement "onmousewheel" qui est actif quand l'usager utilise la roulette de la souris.
IE6 indique aussi avec le "wheelDelta" la direction, roulade vers le haut et "wheelDelta" retourne 120 alors qu'une roulade vers le bas retourne -120.
Comme le montre cet exemple simple (document HTML) :
<html>
<head>
<title>TRUCSWEB.com TW Roulette</title>
<script language="JavaScript" type="text/javascript">
function twRoulette() {
window.status = event.wheelDelta;
}
</script>
</head>
<body onmousewheel="twRoulette();">
<h3>TW Roulette</h3>
<p>Regarder la barre de statut et faite aller votre roulette!</p>
</body>
</html>
Pour identifier le comportement directement dans le Flash il faut évidement mettre le code dans la balise HTML <object> (pas besoin dans l'embed car Netscape n'est pas compatible). (noter le ID pour identifier notre Flash)
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
onmousewheel="twRoulette();" ID="monFlash">
Maintenant, pour passer la valeur au Flash tu dois utiliser une "flash method" voir tutoriel "Contrôler un MovieClip par le Javascript" (http://www.trucsweb.com/Flash/trucs.asp?no=313&type=20)
Ainsi (noter que 120/120 = 1 alors que -120/120 = -1) :
<script language="JavaScript" type="text/javascript">
function twRoulette() {
monFlash.SetVariable ("maDirection", (event.wheelDelta/120));
}
</script>
Et enfin, le Flash où il suffit alors d'ajouter dans ton Flash la variable "maDirection" qui va récupérer cette valeur pour modifier la propriété "scroll" d'un texte!
this.onEnterFrame = function() {
this.text.scroll += maDirection;
}
Alors c'est la même chose pour les "scrollBar" et "scrollPane". Voir l'exemple de Jeremy Brown "http://www.j3r.com/" (aucune idée si le site fonctionne encore, je ne le vois pas de mon côté).
Ciao
Oznog
Réponses
|