
假如你要点击的按钮的id为myCl,应该这样写
myCLonPress = chs();
此代码,应该放到相应的帧里,我只所以说相应的帧,而没有说具体到哪一帧,因为是不知道你的具体情况;
可以定义一个变量,比如a;
初始化a=0;
点击按钮时,调用一个函数,改变a的值,a=1;
在主函数中
switch(a){
case 0:return Mathsin(x);break;
case 1:return 1/x;break;}
btnaddEventListener(MouseEventCLICK, loadSWF);//btn是你的按钮的实例名
var loader:Loader;
var urlRsquest:URLRequest = new URLRequest("aaa/bbb/cccswf");//你的swf文件的路径,最好不要使用中文
function loadSWF(e:MouseEvent):void
{
loader = new Loader();
loaderload(urlRsquest);
addChild(loader);
}
给对象注册侦听器。要用到的语句就是:addEventListener(),过程应该是这样:
给按钮注册(鼠标事件类型中的单击事件,响应(即侦听器函数));
侦听器函数(事件类型:鼠标事件) {
让小球向右滚动5个像素
}
象上面这样写法自然是不能在FLASH中运行,这是我们自己的语言,计算机不懂,我们应该把它写成计算机能够识别的代码:
function clickHandler(evt:MouseEvent):void {
mcx+=5;
}
btnaddEventListener(MouseEventCLICK,clickHandler);
测试影片,我们点一下按钮,mc就会向右边移动5个像素。
注意:我们在编写事件处理函数时一定要选择函数名称(本例中为 clickHandler),必须有,而且也只能有一个参数(本例中为 evt)。
指定函 数参数类似于声明变量,所以还必须指明参数的数据类型(本例中为
MouseEvent)。并且函数没有返回值。
在两个大括号中间编写您希望计算机在事件发生时要执行的指令。
一旦编写好了事件处理函数,就需要告知事件源对象。
您需要在事件发生时调用该函数,可以通过调用该对象的addEventListener()方法来实现此目
的。
注意:我们在给对象添加侦听器的时候,用的是对侦听器函数名称的引用(本例中为clickHandler),函数名后面不加小括号。
如果不再需要某个事件侦听器, 可调用对象的removeEventListener() 方 法删除它,否则会产生内存问题。 由于垃圾回收器不会删除仍包含引用的对 象。比如在上面的例子中,我们点一次按钮,小球就向右移动 5像素,当小球移动到场景最右边的时候,我们想让小球停下来,那么我们就把侦听器移除,解除约定。
移除侦听和添加侦听的语句很类似:
btnremoveEventListener(MouseEventCLICK,clickHandler);
当然得有一个判断语句:假如小球的横坐标大于场景的宽,就移除clickHandler 函数。
function clickHandler(evt:MouseEvent):void {
mcx+=5;
if (mcx>550) {
btnremoveEventListener(MouseEventCLICK,clickHandler);
}
}
btnaddEventListener(MouseEventCLICK,clickHandler);
测试影片,当小球到场景右边的时候就不再移动。
addEventListener()方法构造:
override public function addEventListener(type:String,
listener:Function, useCapture:Boolean= false, priority:int= 0,
useWeakReference:Boolean = false):void
addEventListener()方法里面共有五个参数。前面两个是必选参数,
也是
我们最常用而且一定要掌握的参数。后面三个是可选参数,对初学的朋友们来 说可能是在相当长一段时间内都用不到,所以了解一下即可。
第一个参数 type:String— 事件的类型。
第二个参数 listener:Function— 处理事件的侦听器函数。 此函数必须接受 Event对象作为其唯一的参数,并且不能返回任何结果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)