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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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 柑橘引擎Flash游戏编译不正确_Actionscript 3_Flash_Flash Builder_Box2d - Fatal编程技术网

Actionscript 3 柑橘引擎Flash游戏编译不正确

Actionscript 3 柑橘引擎Flash游戏编译不正确,actionscript-3,flash,flash-builder,box2d,Actionscript 3,Flash,Flash Builder,Box2d,我正在为一个uni项目开发一个基于柑橘引擎的flash游戏 所有这些都已经完成并交上来了,但我正试图将整个项目编译成一个web版本 在flahs builder中,我已经完成了文件-->导出-->发布构建和编译游戏 .swf文件打开良好并启动Sprite菜单,但当单击开始游戏按钮时,它开始启动游戏状态,但随后以纯色挂起,在flash调试器中,我收到这些错误 SecurityError:错误#2000:没有活动的安全上下文 开始 TypeError:错误#1009:无法访问空对象引用的属性或方法。

我正在为一个uni项目开发一个基于柑橘引擎的flash游戏

所有这些都已经完成并交上来了,但我正试图将整个项目编译成一个web版本

在flahs builder中,我已经完成了文件-->导出-->发布构建和编译游戏

.swf文件打开良好并启动Sprite菜单,但当单击开始游戏按钮时,它开始启动游戏状态,但随后以纯色挂起,在flash调试器中,我收到这些错误

SecurityError:错误#2000:没有活动的安全上下文

开始 TypeError:错误#1009:无法访问空对象引用的属性或方法。 在com.citrusengine.utils::ObjectMaker$/FromMovieClip()上 在游戏状态/初始化()时 在com.citrusengine.core::citrusengine/HandleInterframe()上 SecurityError:错误#2000:没有活动的安全上下文

开始 TypeError:错误#1009:无法访问空对象引用的属性或方法。 在com.citrusengine.utils::ObjectMaker$/FromMovieClip()上 在游戏状态/初始化()时 在com.citrusengine.core::citrusengine/HandleInterframe()上


任何建议都值得赞赏

以下内容可能会解决您的问题:

将所有的init代码包装到一个自定义函数中(比如:initFunctionOfApplication)。在调用此init函数之前设置一个延迟计时器。这是我以前遇到的一个问题,我很快就解决了。。。也许这会解决你的问题

setTimeout(function():void{initFunctionOfApplication();}, 3000);
随时通知我们

错误#2000通常是一个找不到文件的错误。您可以通过运行IOErrorEvent获得更多信息,如下所示:

myLoader.addEventListener(IOErrorEvent.IO_ERROR, IOError)

function IOError(e:IOErrorEvent):void {
    trace(e.text);
}
可能是路径到正确文件的问题

错误#1009可能是一种多米诺骨牌效应,即无法处理由于IOR错误而未加载的资产。如果您正在将其他主权财富基金加载到后台,而这些子主权财富基金试图在后台准备就绪之前利用后台,那么这也可能是一个问题,在这种情况下,您只希望在触发事件之前启动脚本。您可以这样设置:

if (this.parent is Stage) {
    stageReady();
} else {
    addEventListener("addedToStage", stageReady);
}

function stageReady(e:Event = null):void {
    // begin your setup code here.
}
这里的逻辑是,如果您的swf没有封装在加载程序中,那么父对象应该是stage,否则,您可以安全地将侦听器添加到加载的swf的时间线中,以侦听事件