1: 2015-09-03 (木) 14:18:50 njf[5] [6] [7] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | AndroidでStarlingで描画するアプリでAdmobなどのインタースティシャル広告を使うと一瞬広告が表示されたかと思うとすぐに黒い画面が表示されてしまうことがあります。 | ||
+ | これは広告の種類やゲームの負荷、端末などによって起こったり起こらなかったりするのでやっかいです。 | ||
+ | エラーログをみるとopenGL関連のエラーが出ているので、StarlingとAdmobの描画が何らかのコンフリクトを起こしているようです。 | ||
+ | よってこれを回避するにはStarlingの描画を止める必要があります。 | ||
+ | 具体的には以下のようにアプリがバックグラウンドに回ったときにStarlingを停止、戻ったときに再開します。 | ||
+ | |||
+ | private void init():void{ | ||
+ | NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, onActivateHandler); | ||
+ | NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, onDeActivateHandler); | ||
+ | } | ||
+ | |||
+ | private function onActivateHandler(e:Event):void { | ||
+ | Starling.current.start(); | ||
+ | } | ||
+ | private function onDeActivateHandler(e:Event):void { | ||
+ | Starling.current.stop(true); | ||
+ | } |
(This host) = https://njf.jp