非常抱歉,这几个月全职开发游戏真的是很忙。一拖就是三个月,真是罪恶。偶尔来看看有没有新的消息,其实一直有关注,不过每次都很愧疚,愧对大家的关注。
解释一下,之前的小游戏,只提到了一些基础的功能和逻辑。根据边际递减效应,教的越多,意义越小,大家的游戏每个都有很多特殊的需求,无论我写什么教程,都不如大家多多实践。
废话不多说,今天抽出一点时间,来做一个一直就想做的内容:一个横版的小的跑酷游戏。那么我们开始学习吧!
我相信大家都有自己的办法解决美术问题,所以我一概使用shapeNode来做,大家可以根据我之前的教程,自己用单图或者动画来做。
创建项目,产品名我用的是JustRun。然后我们去项目设置里,将这个选项去掉,这样就只支持左横屏和右横屏啦(知道大家都喜欢图文并茂/(^o^)/~):
进入GameViewController,修改场景尺寸:
override func viewDidLoad() { super.viewDidLoad() let scene = GameScene(size: CGSize(width: 1334, height: 750)) // Configure the view. let skView = self.view as! SKView skView.showsFPS = true skView.showsNodeCount = true /* Sprite Kit applies additional optimizations to improve rendering performance */ skView.ignoresSiblingOrder = true /* Set the scale mode to scale to fit the window */ scene.scaleMode = .AspectFill skView.presentScene(scene) }
之前有人问我适配的问题,这样可以强制设置场景尺寸,让设备去适配自己的尺寸,可以保证相同屏幕宽高比下不会乱掉,也就是iPhone5以上的手机。
进入GameScene,去掉两个函数内部的默认代码,添加游戏角色,最终是这样的(我真的不是绿色控……):
var player:SKShapeNode! override func didMoveToView(view: SKView) { /* Setup your scene here */ player = SKShapeNode(rectOfSize: CGSize(width: 50, height: 100)) player.fillColor = UIColor.greenColor() player.position = CGPoint(x: 200, y: 200) addChild(player) }