请问flash中调用自定义函数用什么?

请问flash中调用自定义函数用什么?,第1张

假如你要点击的按钮的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对象作为其唯一的参数,并且不能返回任何结果。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12460633.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存