我目前正在创建一个游戏,它使用几个不同的计时器来增加几个数字,同时在屏幕上显示为 3D 文本。当屏幕上只有一个数字出现时,它可以完美运行,并且数字会非常无缝地计数。但是,当存在多个数字并因此运行多个计时器时,这些数字确实会出现故障,并且它们都计数显示相同的数字,即使它们具有不同的值。
我使用这个启动计时器:
p1Price = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(p1PriceCalculator), userInfo: nil, repeats: true)
并使用它来更改文本:
@objc func p1PriceCalculator() {
var smallHouse1Incremental: Int = Int(arc4random_uniform(UInt32(100)))
smallHousePrice1 = smallHousePrice1 + smallHouse1Incremental
smallHouse1Incremental += Int(arc4random_uniform(UInt32(100)))
if let smallHouse1TextGeometry = smallHouseText1.geometry as? SCNText {
smallHouse1TextGeometry.string = String(smallHousePrice1)
}
}
整个代码中有几个相同的设置,唯一的变化是节点的名称。
有谁知道为什么会这样?
谢谢!