我的简单游戏出了问题。作为播放器,背景,地板,硬币,乐谱文本等的每张图片都设置为“添加孩子”#34;在函数didMoveToView
中。它看起来像这样:
override func didMoveToView(view: SKView) {
balon.physicsBody = SKPhysicsBody(circleOfRadius: balon.size.width/2)
balon.physicsBody?.dynamic = true
balon.physicsBody?.categoryBitMask = physics.Balon
balon.physicsBody?.contactTestBitMask = physics.Moneta
balon.physicsBody?.collisionBitMask = physics.None
balon.physicsBody?.usesPreciseCollisionDetection = true
physicsWorld.gravity = CGVector(dx: 0,dy: 0)
physicsWorld.contactDelegate = self
/////////////////// MOVE COINS ///////////////////////////////////////
runAction(SKAction.repeatActionForever(
SKAction.sequence([
SKAction.runBlock(addCoin),
SKAction.waitForDuration(1.0)
])
))
/////////////////// MOVE BOMB ///////////////////////////////////////
runAction(SKAction.repeatActionForever(
SKAction.sequence([
SKAction.runBlock(addBomb),
SKAction.waitForDuration(1.0)
])
))
self.backround.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
self.runningBar.anchorPoint = CGPointMake(0, 0.5)
self.runningBar.position = CGPointMake(CGRectGetMinX(self.frame), CGRectGetMinY(self.frame))
self.orginalBarPosition = self.runningBar.position.x
self.MaxBarPos = self.runningBar.size.width - self.frame.size.width
self.MaxBarPos *= -1
self.balonBaseLine = self.runningBar.position.y + (self.runningBar.size.height/2) + (self.balon.size.height/2)
self.balon.position = CGPointMake(CGRectGetMidX(self.frame) - self.balon.size.width * 2, CGRectGetMidY(self.frame))
self.backround.anchorPoint = CGPointMake(0.5, 0.5)
self.originalBackgroundPosition = self.backround.position.x
self.maxBackgroundPosition = self.backround.size.width - self.frame.size.width * 1.11
self.maxBackgroundPosition *= -1
scoreLabel.text = "Score: 0"
scoreLabel.fontSize = 16
scoreLabel.fontColor = SKColor.blackColor();
scoreLabel.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2)
addChild(scoreLabel)
addChild(backround)
addChild(runningBar)
addChild(balon) }
有一个问题..有时候一切正常但通常在我运行我的程序时会出现一些问题。例如背景和硬币出现但玩家(Balon)没有,或者有时硬币和炸弹出现但地板(movingBar)没有。
RunningBar正在移动,它在覆盖功能更新(currentTime:NSTimeInterval
)中声明,就像移动背景(它是天空)一样。我不明白为什么有时候一切都好,大多数都不行......
编译项目时我没有错误。
我真的很想了解这有什么不对。
感谢您的帮助!