加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TypeError: Error #1009: 无法访问空对象引用的属性或方法。 MainTimeline/frame1

(2012-12-19 09:24:59)
标签:

typeerrorerror1009

maintimeline/frame1(

removechild

removeeventlistener

分类: FlashAs3.0

这几天做一个as3课件,遇到一些问题总结一下:

经验一、帧里写代码时,如果代码里用了addChild addEventListener方法,并且有跳转帧的动作,要特别注意了

     我在帮课件时,用了addchild 当你用了(第一次时,或初使化),用了addchild 而后又removeChild,又addChild了(我做的东西确实要这样),这时你要gotoAndStop(n)时,这时要在跳转帧里事件里要把addChild增加的对象removechild()移除,不然会显示到下一个舞台上面。

经验二、我在做这个东西时,要来回跳转帧,在运行时,出现下面的错误:

http://s7/mw690/4a9b5fcfhd12aba00ccd6&690Error #1009: 无法访问空对象引用的属性或方法。 MainTimeline/frame1" TITLE="TypeError: Error #1009: 无法访问空对象引用的属性或方法。 MainTimeline/frame1" />

TypeError: Error #1009: 无法访问空对象引用的属性或方法。
 at shuwei_fla::MainTimeline/frame1()
 at flash.display::MovieClip/gotoAndStop()
 at shuwei_fla::MainTimeline/shangye()

一时弄不明白,是怎么回事,后来在百试上查了一下,解决了。

原因是:我用的一个mc这个元件在容器中不存在,它只在当前帧里。当跳转到n帧时是e.target.parent.gotoAndStop(n)时,就找不到对象mc了。
因此,在帧跳转之前,把侦听删除。我的和这个不同,我是删除了当前帧这个mc,然后再跳转就不出错了。
我的代码:
function shangye(me:MouseEvent):void {
 removeChild(da33_mc); //后加的方法,必须的,不然出上面的错误
 this.gotoAndStop("yiye"); 跳转帧
}
网上查的解决方法:
stop();
movieClip_1.addEventListener(Event.ENTER_FRAME,overHandler);
function overHandler(e:Event) {

if (e.target.currentFrame==e.target.totalFrames) {
movieClip_1.removeEventListener(Event.ENTER_FRAME,overHandler);
           //张志晨:加上这行!!  
            e.target.parent.gotoAndStop(2);
}
}
经验三、在反复用addChild(mc),和removeChild(mc)时(指是同一个mc),当第一次创建实例后,removechild后,再addchild时,不要重新起变量名,如下:
第一次加载:
var mc:da=new da();
addChild(mc)
……
事件{removeChild(mc)}
再加载时写法:
var mc:da=new da();   这是错误的写法,不能加var,切记。
mc:da=new da(); 正确写法
addChild(mc);
四、问题处理:
1118: 属于 static 类型 Object 的值的隐式强制指令的目标可能是非相关类型 flash.display:DisplayObject。

function ok(e:Event):void {            
   mainContainer.addChild(e.target); //这回引出上面的错误
}
处理:
function ok(e:Event):void { 

   var mv:MovieClip=e.target as MovieClip;//加上这句就可以了

   mainContainer.addChild(mv); //这回引出上面的错误
}
以上我开发中的经验。

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有