読者です 読者をやめる 読者になる 読者になる

フニゲの開発日記

Electronとか...

実行環境で場合分け

cocos2d-html5


ローカライズ

var language = cc.Application.getCurrentLanguage();
if (language == cc.LANGUAGE_JAPANESE) {
    // 日本語だよ
}

で書ける。と思ったが、微妙に違うな。

var language;
if (cc.Application.getCurrentLanguage) {
    language = cc.Application.getCurrentLanguage(); // cocos2d-html5
} else {
    language = cc.Application.getInstance().getCurrentLanguage(); // cocos2d-x
}
...

こんな感じかな。まあそのうち直るだろう。


実行環境(Androidで動いているかブラウザで動いているか)の判別も同じ要領でgetTargetPlatform()を使うのだが、cocos2d-xの方はcc.TARGET_PLATFORMが定義されていないようで、そのまま持って行くとエラーになった。

if (cc.TARGET_PLATFORM == undefined) {
    cc.TARGET_PLATFORM = { // cocos2d/platform/CCApplication.jsからコピー
        ANDROID:3,
        IPHONE:4,
        IPAD:5,
        MOBILE_BROWSER:100,
        PC_BROWSER:101
    };
}
...

var platform = cc.Application.getInstance().getTargetPlatform();
if (platform == cc.TARGET_PLATFORM.ANDROID) {
    // Androidだよ
}

無いものは自分で定義すればいいよね。

広告を非表示にする