我正在用 Swift 创建一个泰拉瑞亚风格的游戏。我希望玩家节点始终位于屏幕中央,并且当您向右移动时,方块会像在泰拉瑞亚中一样向左移动。
我目前正在尝试弄清楚如何保持视图以角色为中心。有谁知道实现此目标的好方法?
自 iOS 9 / OS X 10.11 / tvOS 起,SpriteKit 包括SKCameraNode https://developer.apple.com/library/prerelease/ios/documentation/SpriteKit/Reference/SKCameraNode/index.html,这使得这一切变得更容易:
- 定位相机节点自动调整视口
- 您可以通过相机节点中的变换轻松旋转/缩放相机
- 您可以通过将 HUD 元素设为相机节点的子节点来修复相对于屏幕的 HUD 元素
- 场景的位置保持固定,因此物理关节之类的东西不会像通过移动世界来模拟相机时那样破坏它们的方式
当你将相机节点与另一个新功能结合起来时,它会变得更好,SKConstraint https://developer.apple.com/library/prerelease/ios/documentation/SpriteKit/Reference/SKConstraint_Ref/index.html#//apple_ref/occ/cl/SKConstraint。您可以使用约束来指定相机的位置始终以角色为中心...或者添加额外的约束,例如相机的位置必须保持在世界边缘的某个范围内。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)