swift - 我如何随机化一个负面的位置?

标签 swift

所以我必须随机化一个 x 位置。但由于某种原因,中间是 0,因此我需要做负最大 x 和正最大 x。这有点难以解释,所以这里是代码:

let height = UInt32(self.view!.frame.height)
    let nHeight = ((height - height) - height)

    let randomXPosition = Int(arc4random_uniform(UInt32(nHeight)) + height)

这不会给我任何错误,但是当我运行时它会崩溃。我需要一种方法来随机化负最大 X 和正最大 X 的值,以便对象在屏幕上随机化。

最佳答案

如果您需要生成一个介于 -x 和 x 之间的随机数,那么只需创建一个介于 0 和 2x 之间的随机数并减去 x。 arc4random_uniform(x * 2) - x

关于swift - 我如何随机化一个负面的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42795560/

相关文章:

ios - RLMException,对象类型需要迁移

ios - UIStoryboard Controller 类作为基类

ios - editButtonItem 不起作用

swift - 当只有一个值时,Function Builder 不工作?

swift - 如果使用 var,Xcode 会显示警告

swift - 为 UIKeyboard 推送 UIViews

ios - 在tableview上添加子tableview

ios - 更新日期排序替代方案

json - 解码 JSON 对象(发送带参数的 GET 请求) - Swift 4 Decodable

ios - 永远为 SCNNode 设置动画 - SceneKit,Swift