gpt4 book ai didi

swift - 应用程序运行后崩溃?

转载 作者:行者123 更新时间:2023-11-30 12:27:24 28 4
gpt4 key购买 nike

我正在尝试制作一个带有弹跳球的游戏,并且我想每 8 秒生成一个球。目前,它在产卵后不会移动。我遇到的问题是,第一个球生成后,应用程序会在接下来的 5 秒内崩溃。我不知道为什么会发生这种情况。我将cheduledTimerWithTimeInterval() 放在touchesBegan 函数中。

func scheduledTimerWithTimeInterval(){
Enemytimer = Timer.scheduledTimer(timeInterval: 8, target:self, selector:#selector(GameScene.spawnEnemies), userInfo:nil, repeats:true)
}
func randomBetweenNumbers(firstNum: CGFloat, secondNum: CGFloat) -> CGFloat{
return CGFloat(arc4random()) / CGFloat(UINT32_MAX) * abs(firstNum - secondNum) + min(firstNum, secondNum)
}

func spawnEnemies(){
let xPos = randomBetweenNumbers(firstNum: 0, secondNum:frame.width)
let yPos = randomBetweenNumbers(firstNum: 0, secondNum: frame.height)
enemies.size = CGSize(width: 20, height:20)
enemies.color = UIColor(red:255.0,green:0.0,blue:0.0,alpha:1.0)
enemies.colorBlendFactor = 1.0
enemies.position = CGPoint(x: xPos, y:yPos)
enemies.physicsBody?.affectedByGravity = false
self.addChild(enemies)

最佳答案

您很可能遇到内存问题。我会将 ScheduledTimerWithTimeInterval 方法移出 TouchBegan。现在,每次用户触摸屏幕时,游戏都会启动一个新的计时器(而不启动其他计时器)。将 ScheduledTimerWithTimeInterval 移动到 viewDidLoad 或类似 startGame 的内容,以确保它只被调用一次。

关于swift - 应用程序运行后崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44009429/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com