Swift IOS Spritekit 根据设备大小缩放 Sprite 大小
Swift IOS Spritekit Scaling Sprite Size Based on Device Size
在过去的几周里,我一直在研究 SpriteKit、Xcode 和 Swift,尽管做了很多研究,但我还没有找到管理精灵大小的最佳方法设备之间。
在我的游戏中,我发现了一种处理 sprite 大小和位置的迂回方法,通过手动调整大小、字体大小和位置等特征,使用 if 语句检查高度,使我的 sprite 在设备之间保持一致的设备。理想情况下,我希望我的整个游戏视图(包括它们所包含的精灵)的大小与设备大小成比例。我试过弄乱不同的 SKSceneScaleModes,但没有什么能真正起到作用。
我的问题:在 SpriteKit 中(更具体地说在 Swift 中)处理精灵大小和设备之间定位的最有效方法是什么?我不太关心支持iPad,主要是支持iPhone 4s - 6 plus。谢谢
Imo,简单地缩放相对于 GameScene 的大小就足够了。在GameViewController
中,我将场景初始化为view.bounds.size
。创建精灵时,只需调用 setScale
使其与 view.bounds.size
成比例。由于 view.bounds.size
是基于屏幕的大小,因此对于屏幕较大的设备,您将按比例获得更大的图像。
在过去的几周里,我一直在研究 SpriteKit、Xcode 和 Swift,尽管做了很多研究,但我还没有找到管理精灵大小的最佳方法设备之间。
在我的游戏中,我发现了一种处理 sprite 大小和位置的迂回方法,通过手动调整大小、字体大小和位置等特征,使用 if 语句检查高度,使我的 sprite 在设备之间保持一致的设备。理想情况下,我希望我的整个游戏视图(包括它们所包含的精灵)的大小与设备大小成比例。我试过弄乱不同的 SKSceneScaleModes,但没有什么能真正起到作用。
我的问题:在 SpriteKit 中(更具体地说在 Swift 中)处理精灵大小和设备之间定位的最有效方法是什么?我不太关心支持iPad,主要是支持iPhone 4s - 6 plus。谢谢
Imo,简单地缩放相对于 GameScene 的大小就足够了。在GameViewController
中,我将场景初始化为view.bounds.size
。创建精灵时,只需调用 setScale
使其与 view.bounds.size
成比例。由于 view.bounds.size
是基于屏幕的大小,因此对于屏幕较大的设备,您将按比例获得更大的图像。