游戏开发:优化玩家节点与添加瓦片地图
1. 手动添加协议方法
在开发过程中,不建议让 Xcode 自动添加协议方法,手动添加能更好地控制代码在文件中的位置(Xcode 会将其添加在类声明下方)。为了让代码组织更合理,在 didMove(to:) 方法下方添加如下协议方法:
func didChangeLayout() {
}
这个方法虽然为空,但能消除错误,接下来可以进行最后的步骤:修复玩家节点在旋转设备时的大小问题,以及确保屏幕控件在不同设备方向下都可见。
2. 解决玩家节点旋转时的大小问题
在之前的学习中,我们了解了相机视口以及相机的位置和缩放等设置对场景渲染的影响。利用这些知识,我们可以解决玩家节点在旋转设备时的大小问题。
在 GameScene.swift 文件中,将以下代码添加到 didChangeLayout() 方法中:
let w = view?.bounds.size.width ?? 1024
let h = view?.bounds.size.height ?? 1336
if h >= w { // portrait, which matches the design
camera?.setScale(1.0)
} else {
camera?.setScale(1.25) // helps to keep relative s
超级会员免费看
订阅专栏 解锁全文
29

被折叠的 条评论
为什么被折叠?



