Swift开发Sprite Kit游戏实践(二):让敌人们动起来
先对“敌人”的代码进行微调,使它们在出现之前,完全隐藏在屏幕后(而非仅仅隐藏一半)。从天而降的设定为游戏增加了难度,也增添了乐趣。 那么首先要做的就是更新spawnEnemy()那一行代码,敌人sprite的position编写如下: enemy.position = CGPoint(x: frame.size.width + enemy.size.width/2,y: frame.size.height * random(min: 0,max: 1))
现在,用更多action让敌人从屏幕一端移动到另一端,游戏变得更有趣了。 将这一行代码添加到spawnEnemy()末尾: enemy.runAction(
SKAction.moveByX(-size.width - enemy.size.width,y: 0.0,duration: NSTimeInterval(random(min: 1,max: 2))))
此处稍作解释: 敌人sprite运行一个SKAction。 游戏的设定是:不点击屏幕时,monkey会落下来;点击时,monkey会跳起。 这里用SKAction移动monkey,就像之前移动敌人一样。推荐用Sprite Kit内置的物理引擎,更加简单。 好,现在来试试看。还是GameScene.swift,在didMoveToView(_:)后添加如下代码: player.physicsBody = SKPhysicsBody(circleOfRadius:player.frame.size.width * 0.3)
player.physicsBody?.allowsRotation = false
第一行为monkey创建了一个physics body,在物理引擎的作用下,monkey因引力和其他外力而落下”。 注意:physics body(物理实体)的形状是圆的,仅跟monkey的形状近似而已。无需做到精确,只要凑效就好。同时将physics body设定为不旋转。 编写完成后运行,就能看到monkey在屏幕上时而落下,时而消失,很酷吧? 转自:http://www.csdn.net/article/2015-05-26/2824772-sprite-kit-for-kids-with-swift/2 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |