0

我正在尝试 cocos2d-iphone javascript 绑定,以便在完成后更轻松地将当前项目移植到 web 或 android 平台。现在我只是使用 xcode 为 ios 设备运行 js。

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

我找到了这个 SO question/answer,当通过浏览器查看这个项目时它会派上用场,但它不能解决 ios 设备问题......

例子:

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

对比

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

这两种方法都有效,但如果设备是启用视网膜的设备,我需要知道调用哪一个。有任何想法吗?谢谢。

4

1 回答 1

0

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

  • iPhone SD:图像.png
  • iPhone 视网膜:image-hd.png
  • iPad SD:image-ipad.png
  • iPad 视网膜:image-ipadhd.png

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

于 2013-01-07T21:57:14.510 回答