TypeError:错误#1009:无法访问null对象引用的属性或方法 -

时间:2009-09-09 04:49:05

标签: flash actionscript-3

我只是创建一个影片剪辑,将其放在舞台上并为其指定实例名称char。

文档类

   public class Test extends MovieClip
        {

            public function Test() 
            {
                char.x = 1315; char.y = 459;
                addEventListener(Event.ENTER_FRAME, mouseListen);

            }

            private function mouseListen(e:Event) {
                char.x = mouseX;
                char.y = mouseY;
            }   

        }

错误

  

TypeError:错误#1009:无法访问null的属性或方法   对象参考。在com.me::Test / :: mouseListen()

如何知道构造函数中的“char”是什么,而mouseListen函数中是什么?还有什么呢?

3 个答案:

答案 0 :(得分:1)

我在本地重建了它,它工作正常。跟着鼠标。还有其他任何缺失的代码?我注意到你没有包装定义。这个类是主文件的文档根目录,还是将这个swf加载到另一个swf中?

package
{
    import flash.display.*;
    import flash.events.*;

    public class Test extends MovieClip
    {

        public function Test() 
        {
            char.x = 1315; char.y = 459;
            addEventListener(Event.ENTER_FRAME, mouseListen);
        }

        private function mouseListen(e:Event) 
        {
            char.x = mouseX;
            char.y = mouseY;
        }   
    }
}

答案 1 :(得分:0)

有同样的问题,只是解决它(我认为)。我将我的按钮移动到顶层,在我的代码层上方移动了瞧...这是一个愚蠢的闪光事物。然后我将它向下移动一层,它仍然只用了两层而不是我所拥有的。

答案 2 :(得分:0)

(1)char是保留字。不要使用它。

(2)调试1009的第一步是在尝试更改之前进行存在检查。它可以让你确定它是否像对象那样愚蠢的东西还没有出现在舞台上,因为它会在后来的关键帧中添加等等。

在这种情况下,您不需要这样做,因为您的范围已关闭。在事件监听器中,由于您将它添加到char,在函数本身内部,您将使用'this'关键字获得'char'。

尝试以下方法:

public function Test() 
    {
        char.x = 1315; char.y = 459;
        addEventListener(Event.ENTER_FRAME, mouseListen);
    }

    private function mouseListen(e:Event) 
    {
        this.x = mouseX;
        this.y = mouseY;
    }