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

这是源代码
var i:int = 0;
stage.addEventListener(Event.ENTER_FRAME,snowing);
function snowing(event:Event):void
{
var snow_mc:snow = new snow();
addChild(snow_mc);
snow_mc.x = Math.random() * 550;
snow_mc.scaleX = snow_mc.scaleY = 0.2 + Math.random();
snow_mc.alpha = 0.5 + Math.random() * 0.5;
i++;
if (i>10)
{
this.removeChildAt(1);
}

FLASH樱花动画报错 卡死 到底咋办啊
求人解决

}
复制的就别来了,求高手啊

此报错是因为你在“对象还没加载到舞台上”的时候,就让这个对象“访问了舞台”,因为它找不到舞台,于是报错。

先侦听这个对象是否被加载到舞台上,当它被加载到舞台上的时候,你再执行你的init(),如此你就可以再init()里随意的访问stage了。具体代码如下:

package {
......

import flash.events.Event;//导入Event类

public function MouseDistance() {

addEventListener(Event.ADDED_TO_STAGE, init);//加“加载到舞台”的侦听
}

private function init(e:Event):void {//加个参数
......
}

你的代码是实时显示鼠标到舞台中心点的距离,并且将“中心点”和“鼠标所在点”连线,我这里如上更改后运行正常

扩展资料

源码主要功用有如下2种作用:

1.生成目标代码,即计算机可以识别的代码。

2.对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。

但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译

参考资料来源:百度百科-源码

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-18
先总的说一句,此报错是因为你在“对象还没加载到舞台上”的时候,就让这个对象“访问了舞台”,因为它找不到舞台,于是报错。

下面详细的解释一下:
你新建了一个MouseDistance类对象f,它的构造函数运行init();并且这个函数里面用到了舞台(语句:mc1.x=stage.stageWidth/2;),但是这个时候你还没有将f放入舞台(语句:addChild(f);),所以它找不到stage,然后报错。当你用mc1.x=150;mc1.y=125这样的语句写死的时候,就不会报错了。

但是你肯定也发现上面的解决方法相当的傻,下面说一个聪明的:
先侦听这个对象是否被加载到舞台上,当它被加载到舞台上的时候,你再执行你的init(),如此你就可以再init()里随意的访问stage了。具体代码如下:

package {
......
import flash.events.Event;//导入Event类
public function MouseDistance() {
addEventListener(Event.ADDED_TO_STAGE, init);//加“加载到舞台”的侦听
}
private function init(e:Event):void {//加个参数
......
}

你的代码是实时显示鼠标到舞台中心点的距离,并且将“中心点”和“鼠标所在点”连线,我这里如上更改后运行正常,希望我的解释对你有帮助。本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网