我有一个游戏,其中碎片产生并且玩家必须躲避它,并且使用调用其中addAlien
函数的函数生成碎片。此函数称为updateWithTimeSinceLastUpdate()
。问题是它使用了80%的CPU,我不明白为什么......当我删除它时,应用程序运行完美,但随之崩溃。有人能告诉我应该怎么做才能解决这个问题?非常感谢所有帮助:代码发布在下面
func updateWithTimeSinceLastUpdate(timeSinceLastUpdate: CFTimeInterval){
lastYieldTimeInterval += timeSinceLastUpdate
if(lastYieldTimeInterval > 1){
lastYieldTimeInterval = 0
addAlien()
}
}
//**Where this function is called:** (last line of this function)
override func update(currentTime: CFTimeInterval) {
scoreLabel.text = scoreVarInLabel + String(accessVar.gameScore)
if(pixelman.position.x<20){
pixelman.position.x = 20
}
if(pixelman.position.x>self.frame.width-5){
pixelman.position.x = self.frame.width-5
}
var timeSinceLastUpdate = currentTime - lastUpdateTimerInterval
lastUpdateTimerInterval = currentTime
if(timeSinceLastUpdate > 1){
timeSinceLastUpdate = 1/60
lastUpdateTimerInterval = currentTime
}
// The below line is what is causing 80% CPU Usage
updateWithTimeSinceLastUpdate(timeSinceLastUpdate)
}
非常感谢你提前
作为旁注,我为这个问题的特殊性道歉:我想了解导致这次崩溃的原因。