MovieClip是继承EventDispatcher,也就是说这个类可以调用它父类EventDispatcher中的addEventListener方法,这个方法是用来添加事件的,它一般有五个参数,一般更多的只用到前两个参数,第一个是事件中的事件类型,第二个是一个作为监听器的函数。下面做了一个小的功能,使一张图片在不断点击中绕着一个矩形转动,代码如下

import flash.events.MouseEvent;
import flash.geom.Point;
import flashx.textLayout.elements.ParagraphElement;

var myB:MyButton = new MyButton();
myB.addEventListener(MouseEvent.CLICK,onclickfun);
this.addChild(myB);
var speed:int = 10;

function onclickfun(Mu:MouseEvent):void{
	var p1:Point = new Point(0,0);
	var p2:Point = new Point(480,0);
	var p3:Point = new Point(480,300);
	var p4:Point = new Point(0,300);
	
	if(myB.x>=p1.x && myB.y == p1.y && myB.x < p2.x && myB.y == p2.y){
		myB.x += speed;
	}
	
	if(myB.x == p2.x && myB.y >= p2.y && myB.y < p3.y && myB.x == p3.x){
		myB.y += speed;
	}
	
	if(myB.x <= p3.x && myB.y == p3.y && myB.x > p4.x && myB.y == p4.y){
		myB.x -= speed;
	}
	
	if(myB.x == p4.x && myB.y <= p4.y && myB.y > p1.y && myB.x == p1.x){
		myB.y -= speed;
	}
	trace(myB.x+"  "+myB.y);
}

以上的speed是图片运行的速度,记住,这个数据必需要整除矩形的长与高,否会出错的。

wKioL1WG1eXgtCJ4AACc0oRxDa4052.jpg

wKiom1WG0-3C5FypAACh6pKv2W8558.jpg