【发布时间】:2016-10-07 22:14:21
【问题描述】:
我正在尝试创建一个以随机角度发射弹丸的游戏。 为此,我需要能够生成两个随机 Int。我查阅了一些教程并想出了这个:
var random = CGFloat(Int(arc4random()) % 1500)
var random2 = CGFloat(Int(arc4random()) % -300)
self.addChild(bullet)
bullet.physicsBody!.velocity = CGVectorMake((random2), (random))
它工作了一段时间,但现在它崩溃了。
任何帮助将不胜感激。
【问题讨论】:
-
如果它崩溃了,您可能还有更多信息要分享。它在哪里崩溃,堆栈跟踪到底说了什么?它可能不直接与随机数的创建有关,而是其他的。 (例如,缺少physicsBody 的Bullet,或者已经有父级的Bullet)。
-
认为这个问题更多的是关于获取随机值而不是关于崩溃,nickfalk 可能是正确的,崩溃无论如何都是无关的。
-
肯定是随机数,我换成普通的 Ints 并没有崩溃。
-
那么我会怀疑带有负数的模是一个问题,但是代码中的某些东西“工作一段时间”然后如果没有其他任何变化就开始崩溃是非常不寻常的。
标签: swift random sprite-kit int