This is a discussion on onRelease rimosso within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Eh già! onPress,onRelease,onRollOver e onRollOut sono stati rimossi.
Adesso, ormai si era capito, è la Classe DispatchEvent che gestisce ...
Eh già! onPress,onRelease,onRollOver e onRollOut sono stati rimossi.
Adesso, ormai si era capito, è la Classe DispatchEvent che gestisce tutto.
Come al solito:
-si aggiunge un listener alla clip a cui vogliamo associare gli eventi del mouse
-si gestisce il codice da eseguire agli eventi all'interno dei metodi chiamati dal listener
La Classe che ho sviluppato crea una Sprite in runtime e associa gli eventi del mouse
Risultato:
La Classe che ho scritto è la seguente:
Code:
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.SimpleButton;
import flash.events.*;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
import flash.text.TextFieldAutoSize;
public class NoMoreOnPress extends MovieClip
{
private var size:Number=100;
private var myField:TextField;
private var adve:String;
public function NoMoreOnPress()
{
this.createClip();
}
public function createClip():void
{
var coke:Sprite=new Sprite();
coke.graphics.beginFill(0xFF6600);
coke.graphics.drawRect(0,0,this.size,this.size);
coke.graphics.endFill();
coke.x=stage.stageWidth/2-coke.width/2;
coke.y=stage.stageHeight/2-coke.height/2;
this.addChild(coke);
this.createField();
this.addCokeListeners(coke);
}
public function createField():void
{
this.myField=new TextField();
this.myField.multiline=true;
this.myField.embedFonts=true;
this.myField.autoSize=TextFieldAutoSize.LEFT;
this.myField.border=true;
var format:TextFormat=new TextFormat();
format.font='FFF Business';
format.color=0x0;
format.size=8;
format.align=TextFormatAlign.LEFT;
this.myField.defaultTextFormat=format;
this.addChild(this.myField);
}
public function addCokeListeners(coke:Sprite):void
{
coke.addEventListener(MouseEvent.MOUSE_OVER,mouseIsOver);
coke.addEventListener(MouseEvent.MOUSE_OUT,mouseIsOut);
coke.addEventListener(MouseEvent.MOUSE_DOWN,mouseIsDown);
coke.addEventListener(MouseEvent.MOUSE_UP,mouseIsUp);
this.reset_btn.addEventListener(MouseEvent.MOUSE_DOWN,resetTextField);
this.reset_btn.useHandCursor=true;
}
public function mouseIsOver(event:Event):void
{
this.adve='il mouse mi è sopra';
this.myField.appendText(this.adve+'\n');
}
public function mouseIsOut(event:Event):void
{
this.adve='il mouse non mi tocca';
this.myField.appendText(this.adve+'\n');
}
public function mouseIsDown(event:Event):void
{
this.adve='il mouse mi ha cliccato sopra';
this.myField.appendText(this.adve+'\n');
}
public function mouseIsUp(event:Event):void
{
this.adve='il mouse è stato rilasciato sopra di me';
this.myField.appendText(this.adve+'\n');
}
public function resetTextField(event:Event):void
{
this.myField.text='';
}
}
}