【问题标题】:Line stage.addeventlistener gives error; How to instantiate stage?线路 stage.addeventlistener 给出错误;如何实例化阶段?
【发布时间】:2013-01-13 18:20:34
【问题描述】:

我对 stage.addeventlistner 有疑问。在做了一些研究之后,我发现了一些提示,它可能没有被实例化。

我该怎么做?

typeerror 错误 #1009 无法访问空对象引用的属性或方法

(它所指的行是stage.addeventlistener)

只有重要部分的代码

package 
{
import flash.display.MovieClip;
import flash.events.*;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.geom.Point;

public class TesTrun extends MovieClip 
{
    var leftPressed:Boolean = false;
    var rightPressed:Boolean = false;
    var upPressed:Boolean = false;
    var downPressed:Boolean = false;
public function TestRun() 
    {    

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
stage.addEventListener(Event.ENTER_FRAME, loop);
      //there is more code down here but i don't think that has to be included
  }
 }
}

【问题讨论】:

  • 您的标题非常漂亮,但我们已经有了一个标记系统及其可索引。
  • 好的,我看到其他人这样做并认为这很有帮助。将停止使用它。

标签: actionscript-3 flash stage


【解决方案1】:

您可以使用 ADDED_TO_STAGE 事件来触发您的初始化代码:

public function TestRun() 
{    
    addEventListener(Event.ADDED_TO_STAGE, init);
}

public function init(e:Event):void
{
    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
    stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
    stage.addEventListener(Event.ENTER_FRAME, loop);

}

【讨论】:

  • 好的,我试过了,然后我得到:1120:访问未定义的属性事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多