ios - SpriteKit 支持不同的屏幕尺寸

标签 ios objective-c sprite-kit

我想创建 game like this .这是益智游戏。

我的问题是我需要为每个设备设置不同的图像吗?所以现在我们可以看到 Apple 有 5 种不同的移动设备尺寸:

  • iPhone 3.5''
  • iPhone 4''
  • iPhone 4.7''
  • iPhone 5.5''
  • iPad

所以我的问题是,如果我有适用于 iPad retina 的 Assets ,那么我还需要其他 4 个具有适用于 iPhone 大小的背景和拼图图像的相同 Assets 吗?或者我可以优化它?例如,如果我们创建 3d 游戏,openGL 只渲染需要的帧,我们不需要像我们拥有的设备那样多的场景,只需要一个。

最佳答案

像这样检测设备并设置您的 Assets 。

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        CGSize result = [[UIScreen mainScreen] bounds].size;

        if (result.height == 480)
        {
            // Setup iPhone 4, 4s, iPod Touch Assets
        }
        else
        {
            // Setup iPhone 5, 5s, 6 Assets
        }
    }
    else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    {
        //Setup iPad Assets
    }

关于ios - SpriteKit 支持不同的屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27899005/

相关文章:

ios - 在某个位置画十字以及节点旋转的工作原理

ios - Swift + Firebase - 检查具有 autoId 的节点的值是否存在

iphone - 哪个是 iOS 中合适的 XML 解析器?

objective-c - 为什么不调用 didRegisterForRemoteNotificationsWithDeviceToken

ios - 使用 url 中的动态数据更新 UITableView

sprite-kit - 为什么我的 SpriteKitNode 位置无法正确显示?

swift - SKNode 子类生成错误 : cannot invoke initializer for type "X" with no arguments

ios - swift 3 : Initializing UITableViewController

ios - 无法使用 Alamofire 成功完成带有参数的 GET 请求

objective-c - OpenGL ES - 如何批量渲染 500 多个具有/不同 alpha、旋转和缩放的粒子?