rollOver e rollOut vs. mouseOver e mouseOut

AS3, Flex Soft! Commenta l'articolo

La classe InteractiveObject in ActionScript 3 ha entrambi la coppia di eventi rollOver e rollOut, mouseOver emouseOut.
Entrambi determinano quando il mouse entra ed esce dall’oggetto. L’evento Over (roll e mouse) quando il mouse entra nell’oggetto e viceversa l’evento out viene lanciato quando il mouse esce dall’oggetto.

Loro differiscono sull’interazione con gli oggetti figli. L’evento roll (over e out) semplicemente evita l’interazione con gli eventi dei figli. Essenzialmente è la stessa cosa usando gli eventi Mouse (over e out) con la proprietà “mouseEnabled = false”.

Vediamo l’esempio:

// main button
var spriteButton:Sprite = new Sprite();
spriteButton.name = "spriteButton";

// graphics
var spriteGraphics1:Sprite = createGraphics("spriteGraphics1", 0xFF, 50, 50, 25);
var spriteGraphics2:Sprite = createGraphics("spriteGraphics2", 0x80, 50, 50, 15);

// add to display list
spriteButton.addChild(spriteGraphics1);
spriteButton.addChild(spriteGraphics2);
addChild(spriteButton);

// events
spriteButton.addEventListener(MouseEvent.ROLL_OVER, over);
spriteButton.addEventListener(MouseEvent.ROLL_OUT, out);
//~spriteButton.addEventListener(MouseEvent.MOUSE_OVER, over);
//~spriteButton.addEventListener(MouseEvent.MOUSE_OUT, out);

function over(evt:MouseEvent):void {
	trace("over: " + evt.target.name);
}
function out(evt:MouseEvent):void {
	trace("out: " + evt.target.name);
}

// create circles
function createGraphics(name:String, color:uint, x:Number, y:Number, radius:Number):Sprite {
	var circle:Sprite = new Sprite();
	circle.name = name;
	circle.graphics.beginFill(color);
	circle.graphics.drawCircle(x, y, radius);
	return circle;
}

Noterai che con roll, spriteButton è il target e non riceve eventi dai figli.
Con gli eventi roll si avrai:

over: spriteButton
out: spriteButton

Con gli eventi mouse avrai:

over: spriteGraphics1
out: spriteGraphics1
over: spriteGraphics2
out: spriteGraphics2
over: spriteGraphics1
out: spriteGraphics1

Scrivi un Commento

Home | Graffiti e Disegni | Educazione | Chi siamo | Blog | Progetti | Contatti
RSS Feed Comments RSS Accedi