Hacking With Swift(以下简称hws)是一本以独特视角展示Swift编程乐趣的书籍,1000+页也算大部头了…其中作者按照UIKit,SpriteKit,Tech的顺序循序渐进的将iOS编程的奥秘逐一呈现出来,非常棒!
但是初学者按照其中的SpriteKit代码实际运行时会发现App显示的UI是错滴…
别就这样放弃啊!就让本猫带领大家将这些障碍一一扫除,让你专注作者的初心哦 ;)
1.首先原书代码将背景图片布局放在一个指定的位置(Scene中心点),但实际定位是右上1/4的位置,这是因为GameScene.sks中的Scene的锚点是(0.5,0.5),我们进入sks编辑界面将锚点改为(0,0)即可。
2.即使这样显示正确但是使用了固定编码也是不大好的,作者可能为了让初学者觉得简洁吧。不过我们老司机们可以用如下代码更好的完成居中的意图:
let bg = SKSpriteNode(imageNamed: "sliceBackground")
bg.position = view.center
3.当遇到强制设备横屏的情况下以上背景的位置仍然不正确,这是因为在GameViewController.swift中设置的场景缩放类型不太对,我们只要将
scene.scaleMode = .aspectFill
改为:
scene.scaleMode = .resizeFill
即可!
在修正了诸如上面的问题后,SpriteKit界面问题解决了,我们又可以愉快地编码玩耍了 ;)