生成UIInt8而不是UIInt32的随机方法?

时间:2015-02-11 18:07:03

标签: ios swift sprite-kit

我想随机生成精灵的位置。我使用arc4random()方法获得1到8的范围。

 var randomFactor = arc4random_uniform(8) + 1

sprite.position = CGPointMake(self.frame.width/8 * randomFactor, self.frame.height)

弹出错误告诉我“UIInt32无法转换为UIInt8”。 有没有办法绕过这个或设计不同的代码使其工作?像随机方法不是UIInt32而是UIInt8的解决方案。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您应该将'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)