Lam*_*tos 2 ios sprite-kit swift
我使用SpriteKit创建了一个简单的2D街机游戏,我正在尝试添加一个评分系统.基本上游戏是一个方形精灵,必须跳过各种障碍.所以我想要的是当玩家联系对象以重启整个游戏时.游戏检测到联系人(我之前测试过)但是当我删除所有孩子然后运行我的游戏的基本主要功能时,我注意到旧物体不断产生并且互相混乱.
func didBegin(_ contact: SKPhysicsContact) {
if (contact.bodyA.categoryBitMask == PhysicsCategory.Player && contact.bodyB.categoryBitMask == PhysicsCategory.Obstacles ) { //case where PLAYER collides with OBSTACLE
print("I detect Contact")
Scorelabel.text = "0"
scoreCounter = 0
self.removeAllActions()
self.removeAllChildren()
self.setupGame()
}
Run Code Online (Sandbox Code Playgroud)
//然后,对于其他情况,继续执行didBeging功能
`
如果您尝试重新启动场景,则可以显示相同的场景并重置为默认值:
let scene = GameScene(size: self.size) // Whichever scene you want to restart (and are in)
let animation = SKTransition.crossFade(withDuration: 0.5) // ...Add transition if you like
self.view?.presentScene(scene, transition: animation)
Run Code Online (Sandbox Code Playgroud)
将此代码放在您所在的任何场景中并希望重新启动.当您想要重新启动场景时应该调用它.
如果您尝试进行无缝转换,您可能只想显示动画(或执行交叉渐变).
或者,您可能想要在场景/菜单上创建游戏.这可能只是另一个SKNode,一旦游戏重置或甚至另一个场景变得可见.
| 归档时间: |
|
| 查看次数: |
791 次 |
| 最近记录: |