flash as3如何将flash中的多帧上面的代码用外部的as文件中控制

flashas3如何将flash中的多帧上面的代码用外部的as文件来控制我把上面两帧上面的代码剪切到as文件里面说什么未定义比如第一帧上面写的代码只跟第一帧上面有关第二针... flash as3如何将flash中的多帧上面的代码用外部的as文件来控制
我把上面两帧上面的代码剪切到as文件里面说什么 未定义
比如 第一帧上面写的代码 只跟第一帧上面有关 第二针上面写的代码跟第二针有关 但是 如果第一帧第二针上面的代码都写在第一帧 就会报错 说什么未定义
但是用外部文件as 的时候 因为as文件只有一个
只能写在一起 那么永远都会报错 说什么未定义
如果写在外部 能解决吗
比如说 在某帧的时候 就只执行某些代码 当跳帧 或者触发事件的时候才执行另一些代码 这样可以实现吗
说简单点就是用外部as文件来控制flash的运行
展开
 我来答
Keensb
2012-12-20 · TA获得超过787个赞
知道小有建树答主
回答量:952
采纳率:0%
帮助的人:727万
展开全部
比如说你原来的影片剪辑有10帧,第1帧上写了 trace("HELLO") ,第5帧写了trace(123),第10帧写了

stop(),然后你为它写了一个外部as脚本类,并且是确认两者之间的链接无误的话……

实现方法有2种:
上策是在原来有代码的各关键帧上写事件派发(dispatchEvent),每播放到该关键帧就会对外发送一次事件通知;在外部脚本类中写侦听,根据对应的事件通知来执行原来的代码。

在影片剪辑的第1帧上写
dispatchEvent(new Event("Frame1_Event"));

在影片剪辑的第5帧上写

dispatchEvent(new Event("Frame5_Event"));

在影片剪辑的第10帧上写

dispatchEvent(new Event("Frame10_Event"));

然后在外部as的构造函数中写

this.addEventListener("Frame1_Event",onFrame1);
this.addEventListener("Frame5_Event",onFrame5);

this.addEventListener("Frame10_Event",onFrame10);

再在构造函数的外面,class的里面写

private function onFrame1)(e:EVent):void
{
trace("HELLO");

}

private function onFrame5(e:EVent):void
{
trace(123);
}

private function onFrame10(e:EVent):void
{
stop();
}

这种方法最节省cpu和内存的消耗。

比较小白的方法:在外部监听帧事件(就是Event.ENTER_FRAME),判断当前时间轴播放到第几帧,然后执行对应方法。

你在外部类的构造函数里面写

this.addEventListener(Event.ENTER_FRAME,enterFrame);

然后再在构造函数的外部,class的内部写

private function enterFrame(e:Event):void

{
switch(this.currentFrame)

{
case 1:

trace("HELLO");

break;
case 2:
trace(123);
break;
case 10:
stop();
break;
}
}

这可是比较占资源的,不需要的时候记得移除事件侦听

this.removeEventListener(Event.ENTER_FRAME,enterFrame);
追问
这个问题我在看的你的回答之前就已经解决了    用的我自己发明的一种方法    不过看你的回答很专业的    就选你为满意答案吧    你还能回答我一个问题吗  就是  如何掩藏鼠标     我在flash里面掩藏的时候没有问题  我用外部as文件来掩藏的时候 说什么  未定义
追答
隐藏鼠标要导入鼠标类。

import flash.ui.Mouse
百度网友7588b36
2012-12-20 · TA获得超过2278个赞
知道大有可为答主
回答量:5095
采纳率:40%
帮助的人:1339万
展开全部
未定义说明没有倒入类或是没有绑定的元件。
外部as文件控制flash不可能。因为flash的运行受虚拟机控制。你只能用外部代码控制是否播放,和是否执行那部分的影片剪辑。
追问
晕  我都用外部as控制整个flash里面的所有代码了  也就是说愿flash源文件里面已经几乎没有代码了   全部用外部的as文件来控制的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式