我试图获得一个介于 0 和我的屏幕尺寸之间的值。所以我这样做了:
let sizeX = Int(CGRectGetMaxX(self.frame))
let sizeY = Int(CGRectGetMaxY(self.frame))
var randomX = CGFloat(arc4random()) % sizeX
var randomY = CGFloat(arc4random()) % sizeY
self.touchButton.position = CGPointMake(randomX, randomY)
我有这个错误: 找不到接受提供的参数的“%”的重载
我需要这个来随机化 SkSpriteNode 的位置,也许有更好的解决方案?
谢谢
最佳答案
将 arc4random()
返回的值转换为 Int,然后将整个表达式转换为 CGFloat:
var randomX = CGFloat(Int(arc4random()) % sizeX)
var randomY = CGFloat(Int(arc4random()) % sizeY)
self.touchButton.position = CGPointMake(randomX, randomY)
关于swift - Swift 中的随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24466330/