In this article we rascmotrim work with events such as MouseEvent.CLICK, MouseEvent.DOUBLE_CLICK, MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_OUT, MouseEvent.MOUSE_OVER, MouseEvent.MOUSE_UP, MouseEvent.MOUSE_WHEEL, MouseEent.MOUSE_MOVE
First we'll create an empty file EventExample.fla and in the file properties will show the class that will MouseEventExample.as initsializirovatsya at the start of a flush. The specified class, I create a package event.
Class Code MouseEventExample.as
1 2 3 4 5 6 7 8 9 10 11 12 13
|
package event { import flash.display.Sprite; public class MouseEventExample extends Sprite { private var size:uint = 100; private var bgColor:uint = 0xFFCC00; public function MouseEventExample() { var child:ChildSprite = new ChildSprite(); addChild(child); } } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class ChildSprite extends Sprite { private var size:uint = 50; private var overSize:uint = 60; private var backgroundColor:uint = 0xFFCC00; private var overColor:uint = 0xCCFF00; private var downColor:uint = 0x00CCFF; public function ChildSprite() { draw(size, size, backgroundColor); addEventListener(MouseEvent.CLICK, ClickHandler); addEventListener(MouseEvent.DOUBLE_CLICK, DoubleClickHandler); addEventListener(MouseEvent.MOUSE_DOWN, MouseDownHandler); addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); addEventListener(MouseEvent.MOUSE_OVER, MouseOverHandler); addEventListener(MouseEvent.MOUSE_UP, MouseUpHandler); addEventListener(MouseEvent.MOUSE_WHEEL, MouseWheelHandler); } }
|
The method draw otrisovyvatsya be square.
1 2 3 4 5 6 7
|
private function draw(w:uint, h:uint, BgColor:uint):void { graphics.clear(); / / Zero out graphics.lineStyle(3,0x000000); / / Draw the stroke graphics.beginFill(bgColor); / / Create fill graphics.drawRect(0, 0, w, h); / / Draw a square or pryamougolmnik graphics.endFill(); / / Closing lines }
|
Function for the event MouseEvent.CLICK
1 2 3
|
private function clickHandler(event:MouseEvent):void { trace("Click"); }
|
Function for the event MouseEvent.DOUBLE_CLICK
1 2 3
|
private function doubleClickHandler(event:MouseEvent):void { trace("Double Click"); }
|
Function for the event MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_UP, MouseEent.MOUSE_MOVE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
private function mouseDownHandler(e:MouseEvent):void { trace("Mouse button pressed"); draw(overSize, overSize, downColor); var sprite:Sprite = Sprite(e.target); / / Grab the current object sprite.addEventListener(MouseEvent.MOUSE_MOVE, MouseMoveHandler); sprite.startDrag(); } private function mouseMoveHandler(e:MouseEvent):void { trace("Move a sprite"); e.updateAfterEvent(); / / Redraw the screen while driving } private function mouseUpHandler(e:MouseEvent):void { trace("Mouse button"); var sprite:Sprite = Sprite(e.target); / / Grab the current object sprite.removeEventListener(MouseEvent.MOUSE_MOVE, MouseMoveHandler); sprite.stopDrag(); draw(overSize, overSize, overColor); }
|
Function for the event MouseEvent.MOUSE_OUT
1 2 3 4
|
private function mouseOutHandler(event:MouseEvent):void { trace("Remove the cursor from the object"); draw(size, size, backgroundColor); / / Redraw the square }
|
Function for the event MouseEvent.MOUSE_OVER
1 2 3 4
|
private function mouseOverHandler(event:MouseEvent):void { trace("Brought the mouse"); draw(overSize, overSize, overColor); }
|
Function for the event MouseEvent.MOUSE_WHEEL
1 2 3
|
private function mouseWheelHandler(e:MouseEvent):void { trace("Mouse wheel delta:" + e.delta); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public function MouseEventExample() { addEventListener(MouseEvent.MOUSE_OVER, MouseOverHandler); addEventListener(MouseEvent.MOUSE_OUT, MouseOutHandler); var child:ChildSprite = new ChildSprite(); addChild(child); } public function mouseOverHandler(e:MouseEvent) { e.target.alpha=0.5; } public function mouseOutHandler(e:MouseEvent) { e.target.alpha=1; }
|
link. The link will open in the current window.
Comments