Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
Apache flex 无法访问空对象引用的属性或方法_Apache Flex_Flash_Actionscript 3_Preloader - Fatal编程技术网

Apache flex 无法访问空对象引用的属性或方法

Apache flex 无法访问空对象引用的属性或方法,apache-flex,flash,actionscript-3,preloader,Apache Flex,Flash,Actionscript 3,Preloader,我尝试用Flex为我用Flash编写的项目进行预排序。 我是在这个网站的帮助下做这件事的 我的Flash项目在主类中有一个叫做Game的源代码 stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown); stage.addEventListener(KeyboardEvent.KEY_UP, keyUp); private function keyDown(event:KeyboardEvent) { if (event.keyCod

我尝试用Flex为我用Flash编写的项目进行预排序。 我是在这个网站的帮助下做这件事的 我的Flash项目在主类中有一个叫做Game的源代码

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);

private function keyDown(event:KeyboardEvent) {
   if (event.keyCode == 81 && q_was_push == false) q_was_push = true;
   if (event.keyCode == 81) press_q = true;
   if (event.keyCode == 65) press_a = true;
   if (event.keyCode == 83) press_s = true;
   if (event.keyCode == 32) press_space = true;
} ...
当我使用Flex创建的新swf文件时,我有一个错误 TypeError:错误#1009:无法访问空对象引用的属性或方法。 在游戏()中

如果我评论

//stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
//stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
Flex应用程序可以工作,但Flash应用程序不会对按钮按下做出反应


请了解如何将预加载按钮和工作按钮组合在一起

在将显示对象添加到显示列表之前,
阶段
属性将为空。侦听事件并从中添加关键侦听器

addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
function onAddedToStage(e:Event):void
{
    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
    stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
}

在将显示对象添加到显示列表之前,
stage
属性将为空。侦听事件并从中添加关键侦听器

addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
function onAddedToStage(e:Event):void
{
    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
    stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
}

只要您需要访问stage,就让类在构造函数中侦听/检查它,并让您的init函数作为处理程序

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    /**
     * ...
     * @author Brian Hodge
     */
    public class SomeClass extends Sprite
    {

        public function SomeClass() 
        {
            if (stage) _init();
            else addEventListener(Event.ADDED_TO_STAGE, _init);
        }
        private function _init(e:Event = null):void
        {
            //You may now access the stage property of the DisplayObject.
            stage.addEventListener(Event.RESIZE);
        }
  }

}

只要您需要访问stage,就让类在构造函数中侦听/检查它,并让您的init函数作为处理程序

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    /**
     * ...
     * @author Brian Hodge
     */
    public class SomeClass extends Sprite
    {

        public function SomeClass() 
        {
            if (stage) _init();
            else addEventListener(Event.ADDED_TO_STAGE, _init);
        }
        private function _init(e:Event = null):void
        {
            //You may now access the stage property of the DisplayObject.
            stage.addEventListener(Event.RESIZE);
        }
  }

}