as3 Error #1009: 无法访问空对象引用的属性或方法.

as代码:package{importflash.display.MovieClip;importflash.text.TextField;importflash.eve... as代码:
package {
import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.Event;

public class Textshow extends MovieClip{
private var num:int;
private var _txt:TextField;

public function Textshow() {
_txt = this.getChildByName("txt") as TextField;
}
private function init():void {
num=1000;
_txt.text = String(num);
}
}
}

第一帧动作:import flash.events.MouseEvent;
btnstart.addEventListener(MouseEvent.CLICK,playClick);
function playClick(e:MouseEvent):void{
btnstart.removeEventListener(MouseEvent.CLICK,playClick);
this.gotoAndStop("play");
}
stop();

第二帧动作:
stop();
init();

错误提示:TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at Textshow/init()
at Textshow/frame2()
at flash.display::MovieClip/gotoAndStop()
at Textshow/playClick()
展开
 我来答
百度网友bdf2af4
推荐于2018-04-24 · TA获得超过2040个赞
知道小有建树答主
回答量:188
采纳率:50%
帮助的人:211万
展开全部
_txt = this.getChildByName("txt") as TextField;

这一句,要么你舞台上没有叫txt的实例, //解决办法:创建一个名为txt的TextField实例
要么有但是是TLF TextField //解决方法:在属性面板里将它从TLF文本改为普通文本
追问

都有的啊...

 

就是想点击第一帧的按钮跳到第二帧然后在第二帧直接调用文档类里的方法改变txt.text值

 

 

要是把init()放在第一帧里就能够改变txt的值。。。

灬心羽
2012-09-08 · TA获得超过1163个赞
知道小有建树答主
回答量:921
采纳率:100%
帮助的人:362万
展开全部
我按照你说的代码试了一下,果然是出错的.
所以我觉得是这么回事
.as代码是在第一帧就运行了
但是第一帧上并没有txt的实例,所以_txt就是一个空对象了.
你在第二帧使用Init()自然就会报错.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式