应用思考-教育技术论坛

标题: 发现as3的这个问题 [打印本页]

作者: etthink    时间: 2007-12-17 08:24
标题: 发现as3的这个问题
这个可能不能说是as3的问题,但确实这样写代码不方便,想找一个解决的方法,大家帮帮我吧。
今天在flash cs中做课件时遇到这个问题:
如果有两帧,我在第二帖上放上按钮(a_btn),但我想把代码全写在第一帖里(这样看起来比较方便,但问题就出现了):
(, 下载次数: 18)

代码:
  1. stop();
  2. a_btn.addEventListener(MouseEvent.CLICK,startF);
  3. function startF(event:MouseEvent):void{
  4.         //
  5.         //        
  6.         }
复制代码
将会出现这样的错误:TypeError: Error #1009: 无法访问空对象引用的属性或方法。
我知道,因为flash运行时是按时间轴顺序来执行代码,现在只执行第一帧,还没有运行到第二帧(按钮所在 的帧)如此只好把代码放到第二帧上,但这样做很不方便,想请教大家有没有好的解决办法。
作者: 龙城flash    时间: 2007-12-17 10:08
  可以把按钮放在库里,在第一帖用 new 创建一个按钮对象,然后用我这个按钮对象把按钮加载到舞台上。
作者: 龙城flash    时间: 2007-12-17 10:12
还可以把放按钮在第一帖上 设置在场景的X、Y坐标为负数, 在第二帧把按钮的X、Y坐标设置到指定位置。
作者: etthink    时间: 2007-12-17 12:32
标题: 回复 2楼 的帖子
我来试试不添加addchild,能不能使用代码。
作者: etthink    时间: 2007-12-17 12:33
标题: 回复 4楼 的帖子
此种方法无法解决全部问题,如我在后面的影片剪辑中而且不在第一帧中使用了按钮,影片剪辑第一帧也是添加了stop()代码的,仍然会出现以上所说问题。
作者: etthink    时间: 2007-12-17 12:49
标题: 回复 2楼 的帖子
另检验使用new之后,后面就不可以在属性面板上使用同名的按钮,必须使用new的声名的对象,这样就要使用代码添加按钮:
  位置哪以控制,要加容器,又是面临按钮同样的问题
作者: jen    时间: 2007-12-29 17:42
:lol :lol 好贴,学习~~




欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4