ios - 带有 Sprite Kit 的硬件特定图集在 iPad 上被炸毁

标签 ios image ipad sprite-kit

观看 WWDC 2013 的 503 号谈话“使用 Sprite Kit 设计游戏”,他们说纹理图集的好处之一是您只需将一个文件夹拖放到 XCode,它就会为不同的设备(OSX、OSX、 iPhone、iPhone Retina、iPad...)

对吗?

我正在删除一个包含 Sprite 动画帧的文件夹,虽然它在 iPad 2 和 iPad retina 上看起来大小相同,但它的大小是正确大小的两倍,当然,在 iPad retina 中图像是像素化。

我做错了什么?

最佳答案

简短回答:
在 .atlas 文件夹中的每个视网膜 png 上附加一个 @2x 后缀(例如:heroimage@2x.png)——然后这些将正确显示在视网膜设备。这使 Retina 显示器能够正确计算像素与点的比率(否则它们在 Retina 上看起来会是其尺寸的两倍)。
具有相同名称但没有 @2x 后缀的文件将是非视网膜对应文件。

稍微复杂一点的答案:
如果您需要区分更多设备,iPhone 和 iPad,您可以分别为 Retina iPad 和 iPhone 使用 @2x~ipad 后缀和 @2x~iphone。但是,有错误报告here .

WWDC 的意思可能是,如果您将不同设备的图像(具有不同的后缀)放在纹理图集中,那么生成的集体图集图像对于每个设备来说确实是分开的。正如它在 iOS Developer Library 中所说的那样:

Images for the same device are kept together—for example, all iPhone images are in one file (~iphone.1.png), and all iPad images are in another file (-ipad.1.png).

关于ios - 带有 Sprite Kit 的硬件特定图集在 iPad 上被炸毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389481/

相关文章:

ios - 状态栏框架坚持纵向并遮挡 window.view

iphone - UISlider的editingDidEnd事件在iPad上不起作用

ios - 如何手动安装 iOS 模拟器到 Xcode 4.5?

c# - 如何访问 UITableViewSource 下的 NavigationController.PushViewController?

iphone - 随机访问NSArray,但不会丢失或加倍对象

ios - 使用 Openweathermap 获取名称中包含空格的城市的天气

ios - TabBarController 不会自动旋转

android - 用于图像上传和裁剪的 React-Native 库?(同时支持 android 和 ios)

javascript - 在javascript中旋转图像

ruby-on-rails - 由 Rails 提供给 Chrome 或 Safari 的图像闪烁