L'événement MOUSE_MOVE en ActionScript 3.
L'événement MouseEvent.MOUSE_MOVE permet de détecter le mouvement au dessus d'un objet. Contrairement à l'ActionScript 2, l'événement est déclenché uniquement quand la souris bouge au dessus d'un objet et non plus dès que la souris bouge sur la scène.
Dans cet exemple, nous allons utiliser une image de la bibliothèque et détecter le mouvement de la souris au dessus de cette image.
Dans l'article Liaison avec un clip de la bibliothèque, nous avons vu comment il était possible d'utiliser un objet de la bibliothèque en ActionScript 3.
Nous allons donc importer une image d'un toucan dans la bibliothèque et dans les propriétés de ce bitmap, nous allons définir sa classe, en l'occurence ici nous utiliserons comme nom de classe : Toucan. La classe de base de ce bitmap est la classe BitmapData.
Création de l'objet de type Toucan
L'image possède une largeur de 1024 pixels et une hauteur de 768 pixels. Nous préciserons ces dimensions dans le constructeur de la classe Toucan.
-
var dataToucan:Toucan = new Toucan(1024, 768);
Création de l'objet de type Bitmap
La classe BitmapData dont hérite notre classe Toucan, est une classe qui ne contient que les données de l'image. On peut imaginer ces données sous la forme d'une grille de pixels. Pour afficher ces données, on va passer l'objet dataToucan en tant que paramètre d'un objet de type Bitmap. La classe Bitmap est une classe qui peut être affichée à l'écran, elle hérite de la classe DisplayObject.
-
var imgToucan:Bitmap = new Bitmap(dataToucan);
Création de l'objet Sprite
Cependant, un objet de type Bitmap ne possède pas d'événements de souris car la classe Bitmap n'hérite pas de la classe InteractiveObject. Nous allons donc afficher l'objet imgToucan dans un objet de type Sprite. L'objet de type Sprite est conteneur d'objets d'affichage notamment d'objets images.
-
var leToucan:Sprite = new Sprite();
-
leToucan.addChild(imgToucan);
Réduire l'image et l'afficher
Nous allons ensuite réduire l'image à 50% de sa taille d'origine.
-
leToucan.scaleX = leToucan.scaleY = .5;
-
addChild(leToucan);
Création de l'événement MOUSE_MOVE sur l'objet leToucan
Nous allons afficher dans la fenêtre de sortie, un message, à chaque fois que la souris se déplacera au-dessus de l'image.
-
function bougeSurToucan(evt:MouseEvent):void
-
{
-
trace("Le pointeur bouge sur l'image");
-
}
-
leToucan.addEventListener(MouseEvent.MOUSE_MOVE, bougeSurToucan);
Je suis Antony Chauviré, développeur sur la Flash Platform.