生成 UIInt8 而不是 UIInt32 的随机方法?
Random-method that generates a UIInt8 instead of UIInt32?
我想随机生成精灵的位置。我使用 arc4random() 方法获取 1 到 8 的范围。
var randomFactor = arc4random_uniform(8) + 1
sprite.position = CGPointMake(self.frame.width/8 * randomFactor, self.frame.height)
弹出一个错误告诉我 "UIInt32 is not convertible to UIInt8"。
有没有办法解决这个问题或以不同的方式设计代码以使其工作?就像随机方法不是 UIInt32 而是 UIInt8 的解决方案一样。
提前致谢。
您应该将 'randomFactor' 转换为 CGFloat:
var randomFactor = arc4random_uniform(8) + 1
var x = self.frame.width / 8 * CGFloat(randomFactor)
var y = self.frame.height
var position = CGPointMake(x, y)
我想随机生成精灵的位置。我使用 arc4random() 方法获取 1 到 8 的范围。
var randomFactor = arc4random_uniform(8) + 1
sprite.position = CGPointMake(self.frame.width/8 * randomFactor, self.frame.height)
弹出一个错误告诉我 "UIInt32 is not convertible to UIInt8"。 有没有办法解决这个问题或以不同的方式设计代码以使其工作?就像随机方法不是 UIInt32 而是 UIInt8 的解决方案一样。 提前致谢。
您应该将 'randomFactor' 转换为 CGFloat:
var randomFactor = arc4random_uniform(8) + 1
var x = self.frame.width / 8 * CGFloat(randomFactor)
var y = self.frame.height
var position = CGPointMake(x, y)