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
为ActionScript执行Stage null ActionScript 3 Flash CS5导出_Flash_Null_Flash Cs5_Stage - Fatal编程技术网

为ActionScript执行Stage null ActionScript 3 Flash CS5导出

为ActionScript执行Stage null ActionScript 3 Flash CS5导出,flash,null,flash-cs5,stage,Flash,Null,Flash Cs5,Stage,这是交易, 我有一个从.fla文件调用的主类。在我在库“export for actionscript”中设置一个对象之前,一切都正常。。。在那之后,stage不再工作,stage现在返回“null”,因为我选中了一个对象“export for actionscript” 我使用的是FlashCS5,早期版本的flash从来没有出现过这种情况 对不起,英语。。。我希望我已经够清楚了 代码示例: package com { import flash.display.MovieClip; pub

这是交易, 我有一个从.fla文件调用的主类。在我在库“export for actionscript”中设置一个对象之前,一切都正常。。。在那之后,stage不再工作,stage现在返回“null”,因为我选中了一个对象“export for actionscript”

我使用的是FlashCS5,早期版本的flash从来没有出现过这种情况

对不起,英语。。。我希望我已经够清楚了

代码示例:

package com {

import flash.display.MovieClip;

public class Teste extends MovieClip {

    public function Teste() {
        trace(stage)// traced null 
    }
}
}
我将尝试解释我所做的步骤。 -创建Teste类; -打开.fla文件,并将该类添加到.fla文件属性的Class字段中; -创建MovieClip并尝试从Actionscript导出它;
问题来了。。。当我这样做时,stage现在返回Null,因为我在库中导出了一个MovieClip。o、 o

原因是,在没有太多负载的情况下,Stage可能会立即可用。现在您已经为Actionscript添加了要导出的内容,加载时间甚至可能会延长一毫秒,stage将不可用

始终检查阶段是否存在,然后等待它存在,然后再尝试引用它

试试这个:

package com {

import flash.display.MovieClip;

public class Teste extends MovieClip {

    public function Teste() {
        if(!stage) addEventListener(Event.ADDED_TO_STAGE, _addedToStage)
        else _addedToStage();
    }

    private function _addedToStage(e:Event = null)
    {
        trace(stage)// traced null 
    }
}
}

如果这是您的文档类,那么很有可能该代码是在stage对象存在之前初始化的。我只是猜测,但我认为行为的改变是由“export for actionscript”类在第一帧加载其定义并导致某种形式的延迟引起的

尝试等待阶段存在:

package com {

import flash.display.MovieClip;

public class Teste extends MovieClip {

    public function Teste() {
        if(stage) {
            init();
        } else {
            addEventListener(Event.ADDED_TO_STAGE,init);
        }
    }

    private function init(evt:Event = null):void {
        removeEventListener(Event.ADDED_TO_STAGE,init);
        //stage should now exist
        trace(stage);
    }
}
}

你能解释更多关于舞台现在返回“null”的信息吗?也许把代码贴在你测试的地方?