使用cocos2d-iphone javascript绑定检测视网膜显示

时间:2013-01-07 00:37:25

标签: javascript cocos2d-iphone retina-display

我正在尝试使用cocos2d-iphone javascript绑定,这样我就可以更轻松地将当前项目移植到Web或Android平台上。现在我只是使用xcode来运行ios设备的js。

我正在试图找出是否有办法在javascript中检测视网膜显示。我的sd / hd图像似乎正在加载标准的文件名约定(即image.pngimage@2x.png),但是我在加载BMLabels加载正确版本的字体文件时遇到了麻烦。正如预期的那样,检查屏幕尺寸会返回视网膜和非视网膜显示器的相同像素宽度。通常在obj-c中我只使用CC_CONTENT_SCALE_FACTOR(),但我找不到javascript绑定中的等价物。

我找到了这个SO question/answer,当通过浏览器查看这个项目时,它会非常方便,但它无法解决ios设备问题......

示例:

var label = cc.LabelBMFont.create("0123456789", "EuroBold24.fnt");

VS

var label = cc.LabelBMFont.create("0123456789", "EuroBold24@2x.fnt");

这两项都有效,但如果设备是支持视网膜的设备,我需要知道要拨打哪一个。有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:0)

您不应该将@ 2x与cocos2d-iphone一起使用。使用以下后缀使用自定义文件扩展名格式:

  • iPhone SD:image.png
  • iPhone Retina:image-hd.png
  • iPad SD:image-ipad.png
  • iPad Retina:image-ipadhd.png

@ 2x仅适用于图像文件,cocos2d的自定义文件后缀适用于任何支持的资源,包括位图字体(.fnt)和tilemap(.tmx)文件。