【问题标题】:Resize from 4-inch to 3.5 using Sprite Kit使用 Sprite Kit 将大小从 4 英寸调整为 3.5
【发布时间】:2015-03-29 11:43:51
【问题描述】:

我正在使用 Sprite Kit 和 Swift 制作我的第一个 iOs 游戏。 我开始定位我所有的精灵和标签,例如:

sprite.position = CGPoint(x: 0, y: 200)

当我在 4 英寸设备上运行时,它看起来非常好,但当我在 3.5 设备上运行时,游戏看起来不完整。

有没有什么好的解决方案可以调整所有图层的大小而不是重新设计我的所有场景?

【问题讨论】:

    标签: ios iphone swift layout sprite-kit


    【解决方案1】:

    如果您没有更改场景 scaleMode 的初始设置,则应将其设置为 .aspectFill。此设置将调整您的场景大小,保持其纵横比但试图填满您的屏幕。它基本上会切掉一部分。除了设置.aspectFit 之外,您无能为力。它会保留 aspectRation,但会适合屏幕中的所有场景,并为您留下黑色的拳击带。

    大多数人不使用 .aspectFit,但如果您知道如何根据屏幕大小调整场景大小,则可以在任一侧添加所需的填充以消除黑色字母框。我创建了一个框架来为你做这件事,并且计算你的场景的原始锚点,这样你就不会丢失你当前的坐标实现。全部有2种方法..我强烈建议你看看它:SceneSizer

    只是:

    1. 下载存储库的 ZIP 文件
    2. 打开“SceneSizer”子文件夹
    3. 将 SceneSizer.framework “乐高积木”拖到您的项目中
    4. 确保框架处于嵌入式而不是链接中
    5. 在代码中的某处导入框架import SceneSizer

    你已经完成了,你现在可以调用 sizer 类:SceneSizer.calculateSceneSize(#initialSize: CGSize, desiredWidth: CGFloat, desiredHeight: CGFloat) -> CGSize

    文档位于文件夹中,用于标准场景的干净和充分使用。希望这会有所帮助!

    【讨论】:

    • 谢谢,我试试看!
    • 没问题,如果您需要帮助实现它,请告诉我!
    • 我确定框架是嵌入式的,但我得到这个“打开模块'SceneSizer'的导入文件:不是目录”¿一些想法?编辑:算了,我将 .h 标头导入到 Obj-C 桥接头标头中。
    • 我通常在我的项目中将框架拖到底部。我当然选择副本。然后我去看项目目标,并确保它在链接和嵌入中各一次。然后在我的 scene.swift 文件中我执行import SceneSizer。这就是我所做的。请注意,我不知道您的设置,因此我无法就这一点提供更多建议..
    猜你喜欢
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    相关资源
    最近更新 更多