作者Tiphareth (Duchess)
看板Flash
标题[问题] 按钮语法与 TypeError: Error #1009
时间Thu Nov 15 02:41:31 2012
爬过文後这个问题好像常常在AS3.0遇到|||
但是就是看不懂爲什麽会跑出这个错误代码
TypeError: Error #1009: 无法存取 Null 物件参考的属性或方法。
at _fla::MainTimeline/frame2()
at flash.display::MovieClip/gotoAndStop()
at _fla::MainTimeline/btf01
而且才刚开始做就遇到这个问题...
因为是纯粹做按钮转换场景的练习,
所以简单的描述档案的内容是↓
我设了s01、s02、s03、s04这四个场景
我分别在s01设一个按钮,切换到s02的场景。
另外在s02设两个按钮分别到s03跟s04的场景。
s01场景的语法如下:
stop();
var start01:Object
start01.addEventListener(MouseEvent.CLICK,btf01);
function btf01(Event:MouseEvent):void{
gotoAndStop(1,"s02")
};
s02场景的语法如下:
stop();
var start02:Object
start02.addEventListener(MouseEvent.CLICK,btf02);
function btf02(Event:MouseEvent):void{
gotoAndStop(1,"s03")
};
var start03:Object
start03.addEventListener(MouseEvent.CLICK,btf03);
function btf03(Event:MouseEvent):void{
gotoAndStop(1,"s04")
};
输出影片後,按s01上的按钮会顺利到s02,
但是会跑出错误代码1009。
接着s02上的两个按钮不管怎麽按就没怎麽反应了。
难道是要做移除监听的动作吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.230.3.177
1F:→ dsmwang:为何要设一个Object来抓事件? 11/15 03:19
2F:推 etrexetrex:你把 var start01:Object 改成 var start01:Object ={} 11/15 11:25
改过後会出现这个讯息~
TypeError: Error #1006: addEventListener 不是函数。
at 1113_fla::MainTimeline/frame1()
※ 编辑: Tiphareth 来自: 61.63.224.226 (11/15 11:54)
3F:→ dsmwang:纯Object没有监听方法吧,EventDispatcher才有, 11/15 17:39
4F:→ dsmwang:但我还是不解你为何要设Object来听事件。 11/15 17:39
嗯....说来很见笑,我是看网路上的资料自学的...
找到的资料上有设Object
不过去掉後还是有相同的错误讯息出来~
5F:推 etrexetrex:那好像是as2写法吧 11/15 19:40
6F:→ etrexetrex:对压 所以你的按钮名称叫做什麽 ? 11/15 19:41
按钮名称:start01、start02、start03
※ 编辑: Tiphareth 来自: 125.230.3.177 (11/15 22:03)
7F:→ dsmwang:名称是右边的类别的命名呢?还是物件拉出来之後才命名呢? 11/16 01:10
元件是拉出来後在属性面板上命名的喔~
8F:推 etrexetrex:那你就直接把 var start01:Object 删掉 11/16 02:30
http://www.mediafire.com/?1bvh6qkb0635wit
我有试着另外开新档
重新随便拉个图形做按钮,
然後按钮一律去掉var start01:Object这类的语法
发现可以正常的执行场景的转换~
并且把s02场景改成都
放在s01场景的第二个影格做转换
也可以正常执行。
但是一但把之前做好的按钮元件替换,
就会出现1009的错误代码
真是太诡异了OTZ
所以还是把档案上传上来了
※ 编辑: Tiphareth 来自: 61.63.224.226 (11/16 09:35)
※ 编辑: Tiphareth 来自: 61.63.224.226 (11/16 09:39)
※ 编辑: Tiphareth 来自: 61.63.224.226 (11/16 09:41)
※ 编辑: Tiphareth 来自: 61.63.224.226 (11/16 09:42)
9F:推 etrexetrex:下载了你的档案 可以正常运作 没遇到 bug 11/16 14:09
那真是太奇怪了||||
我这边不管怎麽样输出影片还是会遇到错误讯息,
而且第二场景的按钮还会无效
http://ppt.cc/GJjH
↑错误讯息的画面
※ 编辑: Tiphareth 来自: 111.242.35.52 (11/19 14:51)
10F:→ Tiphareth:尝试另外开档案用FLASH作图成按钮物件,发现也会出现 11/19 14:52
11F:→ Tiphareth:相同错误,都是在加入三个按钮以上後.... 11/19 14:52
12F:→ silase0201:无法存取 Null 物件参考的属性或方法 11/20 04:05
13F:→ silase0201:切换场景的时候 时常会遇到这种情况 11/20 04:06
14F:→ silase0201:元件还没载入完成,语法却已经载入了,造成语法有呼叫 11/20 04:07
15F:→ silase0201:元件,却没有元件回应语法 11/20 04:07
16F:→ silase0201:当然,换影格的时候也会遇到这种问题 11/20 04:09
17F:→ silase0201:解决方案有很多,像是所有元件都放在同一个影格 11/20 04:10
18F:→ silase0201:以设定visible的true(显示)flash(不显示但存在)来控制 11/20 04:12