我有一个使用Starling的应用程序和iAds的原生扩展(Milkman Games iAds Extension)
我注意到,当用户点击iad,与之交互,然后返回到游戏时,由于Starling恢复Stage3D上下文,因此黑屏会有很长时间的延迟。
我希望能够在此期间显示某种加载屏幕,但我尝试的一切似乎都不起作用。 有没有人有建议如何实现这个?它甚至可能吗?
答案 0 :(得分:0)
这只是一个理论,没有经过测试但它应该有效。
倾听Event.ACTIVATE
。这应该在iAd关闭时触发。它还触发了很多其他时间,所以我们需要确保检查这个黑屏,为此我们可以简单地将它放在事件处理程序中:
private function _onActivateHandler(e:Event):void
{
if (starling.context.driverInfo.indexOf("Disposed") != -1)
{
this.addChild(loadingTextOrBitmapEtcEtc);
starling.stage3D.addEventListener(Event.CONTEXT3D_CREATE, this._onContext3DCreateHandler);
}
}
private function _onContext3DCreateHandler(e:Event):void
{
starling.stage3D.removeEventListener(Event.CONTEXT3D_CREATE, this._onContext3DCreateHandler);
this.removeChild(loadingTextOrBitmapEtcEtc);
}