私は cocos2d-iphone JavaScript バインディングを試しているので、現在のプロジェクトが完成したら、Web または Android プラットフォームに簡単に移植できます。現在、xcode を使用して iOS デバイス用の js を実行しています。
JavaScriptでRetinaディスプレイを検出する方法があるかどうかを調べようとしています。私の sd/hd イメージは、標準のファイル名規則 (つまり、image.png
とimage@2x.png
) で問題なくロードされているようですが、BMLabels が正しいバージョンのフォント ファイルをロードするのに問題があります。画面サイズを確認すると、予想どおり、Retina ディスプレイと非 Retina ディスプレイで同じピクセル幅が返されます。通常、obj-c では を使用するだけCC_CONTENT_SCALE_FACTOR()
ですが、javascript バインディングで同等のものを見つけることができません。
私はこの SOの質問/回答を見つけました。このプロジェクトをブラウザ経由で表示しているときに非常に便利ですが、ios デバイスの問題は解決しません...
例:
var label = cc.LabelBMFont.create("0123456789", "EuroBold24.fnt");
対。
var label = cc.LabelBMFont.create("0123456789", "EuroBold24@2x.fnt");
これらはどちらも機能しますが、デバイスが Retina 対応デバイスの場合、どちらを呼び出すかを知る必要があります。何か案は?ありがとう。