更新随机整数(swift,spritekit)

时间:2015-04-25 17:54:16

标签: ios swift sprite-kit

我有一个需要每秒更新的随机整数,但我的问题是无法在函数外定义random int,因为它是一个随机int,范围为0到屏幕大小

      var randomX = UInt32(self.size.width)

我不能在函数之外使用self.size.width。起初我想也许它不会更新因为它1.在函数didMoveToView()和2.声明它使用“let”而不是“var”。如果我在我的函数中声明它每秒更新一次,则该变量不能在该函数之外使用,这是一个很大的问题。

2 个答案:

答案 0 :(得分:1)

您可以将var声明为类的实例变量(在方法之外),在方法中更新它,并在该类的实例中的任何其他位置使用它。

class RTest {
    var randomX: UInt32
    init() {
        self.randomX = 2;
    }

    func rx5()->UInt32 {
        return self.randomX * 5
    }
}

答案 1 :(得分:0)

创建一个全局类变量,以便您可以在类

中的任何位置访问它
class MyClass: UIViewController {
var screenWidth: CGFloat = 0.0; //Global variable for this class

   func getRand() -> UInt32 {
       //generate your random number
       return UInt32(self.screenWidth)
   }

   func useRandom() {
       //call getRand anytime you want to generatea a new random num
       var myRandNum = getRand()
   }

   func override viewWillAppear(animated: Bool) {
       self.screenWidth = self.view.frame.size.width
   }
}

代码未经过测试,但应该让您了解如何进行操作。 希望有所帮助。