Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 错误1009:无法访问空对象引用的方法的属性_Actionscript 3_Flash_Null_Typeerror - Fatal编程技术网

Actionscript 3 错误1009:无法访问空对象引用的方法的属性

Actionscript 3 错误1009:无法访问空对象引用的方法的属性,actionscript-3,flash,null,typeerror,Actionscript 3,Flash,Null,Typeerror,我不明白发生了什么事 这是我的主要任务 package { import flash.display.MovieClip; import flash.events.MouseEvent; public class Main extends MovieClip { public var pirkles:Circles = new Circles() public function Main() { gotoAndStop(1) play

我不明白发生了什么事 这是我的主要任务

package  {

import flash.display.MovieClip;
import flash.events.MouseEvent;

public class Main extends MovieClip {

    public var pirkles:Circles = new Circles()

    public function Main() {

        gotoAndStop(1)

        playbtn.addEventListener(MouseEvent.CLICK,  playscreen)

    }

    public function playscreen(event:MouseEvent):void {

        gotoAndStop(2)

        addChild(pirkles)

    }
}

}
这是我的圈子

package  {
import flash.display.MovieClip
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard
import flash.events.MouseEvent;

public class Circles extends MovieClip{

    public function Circles():void {
        stage.addEventListener(KeyboardEvent.KEY_DOWN, MOVE)
        this.y = 175
        this.x = 10
        }

    public function MOVE(event:KeyboardEvent):void {

        if (event.keyCode == Keyboard.RIGHT) {

            this.x = this.x+10

        }
        else if (event.keyCode == Keyboard.LEFT) {  

            this.x = this.x-10

        }
        else if (event.keyCode == Keyboard.UP) {

            this.y = this.y-10

        }
        else if (event.keyCode == Keyboard.DOWN) {

            this.y = this.y+10

        }

    }

}

} 

现在我得到一个错误,在我的Circles.as的第11行和Main.as的第8行有一个问题。然而,在这些方面,我不明白是什么导致了问题。我在第11行添加了一个事件监听器,但当我去掉它时,它就工作了。另外,在第8行,我刚刚定义了一个变量。

您不能在类构造函数中访问stage。 那么这条线呢

 stage.addEventListener(KeyboardEvent.KEY_DOWN, MOVE)
正在导致错误

如果需要访问该阶段,请在构造函数中为添加的_to_阶段事件添加一个侦听器,然后在回调函数中可以访问该阶段

因此:


你能给我举个例子吗?我对actionscript还比较陌生。另外,我的Main.as中的第8行有什么问题吗?
public function Circles():void {
        this.addEventListener (Event.ADDED_TO_STAGE, onAddedToStage);
        this.y = 175
        this.x = 10
}

private function onAddedToStage (evt:Event):void {
                 stage.addEventListener(KeyboardEvent.KEY_DOWN, MOVE)

}