Actionscript 3 柑橘引擎Flash游戏编译不正确
我正在为一个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()上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:无法访问空对象引用的属性或方法。
任何建议都值得赞赏以下内容可能会解决您的问题: 将所有的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的时间线中,以侦听事件