cocos2d-html5で、スプラッシュ画面時点から背景色を変えたいと思いました。SPAから滑らかにCocos2dに移行しようと思ったのです。概ね当たり前の部分、つまり、html内・loading.jsでの色指定に関わる部分を弄れば何とかなるのですが、WebGLの時だけ、一瞬画面が黒くなります。
一瞬のことなので、後回しにしようとも思ったのですが、こういうのってちょっとしたことながら「すげえ挙動不安定アプリっぽい見た目」になるので、耐えきれず一応ソースを読みました。
過程はすっ飛ばして、
frameworks > cocos2d-html5 > cocos2d > core > renderer > RendererWebGL.js > _clearColor
に背景色を設定するしかない模様。
確かに、ライブラリの読み込み時に介入できる方法をcocos2dは提供していないので、これは困りものです。
少なくとも現バージョン3.17.2では、ライブラリのソースを書き換えざるを得ない感じ。
提案としては、ライブラリ初期化時に、呼び出し元HTMLの背景色を覗いて、_clearColorのデフォルト値にする、といった仕様が嬉しいんではないでしょうか。誰かプルリクしてあげて。
ちなみに、背景色を明るい色にすると、これに限らず色々な障害に阻まれる感じです。まだそのせいだとは確証できていませんが、TransitionCrossFadeとか。Cocos2d-HTML5って、黒背景で使う人がほとんどなのかも。
以上。