转载

(原创)swift+spritekit中文教程第五篇

非常抱歉,这几个月全职开发游戏真的是很忙。一拖就是三个月,真是罪恶。偶尔来看看有没有新的消息,其实一直有关注,不过每次都很愧疚,愧对大家的关注。

解释一下,之前的小游戏,只提到了一些基础的功能和逻辑。根据边际递减效应,教的越多,意义越小,大家的游戏每个都有很多特殊的需求,无论我写什么教程,都不如大家多多实践。

废话不多说,今天抽出一点时间,来做一个一直就想做的内容:一个横版的小的跑酷游戏。那么我们开始学习吧!

绘制角色

我相信大家都有自己的办法解决美术问题,所以我一概使用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) } 
正文到此结束
Loading...