【问题标题】:Spawn SKSprite at random positions在随机位置生成 SKSprite
【发布时间】:2015-08-22 16:44:20
【问题描述】:

我正在制作一款游戏,我需要“皱眉”在屏幕上的随机位置生成然后掉落。

我让它产卵,但它只在一个部分,它不会在其他任何地方产卵:

}

func random() -> CGFloat {
    return CGFloat(Float(arc4random()) / 0xFFFFFFFFFFFFF)
}

func random(#min: CGFloat, max: CGFloat) -> CGFloat {
    return random() * (max - min) + min
}

func addFrowny() {

    let frowny = SKSpriteNode(imageNamed: "Frowny")

    let actualX = random(min: frowny.size.width/2, max: size.width + frowny.size.height/2)

    frowny.position = CGPoint(x: actualX, y: size.width - frowny.size.height/2)

    addChild(frowny)


    let actualDuration = random(min: CGFloat(2.0), max: CGFloat(4.0))


    let actionMove = SKAction.moveTo(CGPoint(x: actualX, y: +frowny.size.height/2), duration: NSTimeInterval(actualDuration))
    let actionMoveDone = SKAction.removeFromParent()
    frowny.runAction(SKAction.sequence([actionMove, actionMoveDone]))

【问题讨论】:

    标签: swift sprite-kit skspritenode


    【解决方案1】:

    您的 random 方法每次都不会返回介于 0 和 1 之间的值,而是返回 0.00000001 之类的值。改用这个随机函数:

    func random() -> CGFloat {
        return CGFloat(Double(arc4random()) / Double(UInt32.max))
    }
    

    (你除数太多了,乱码的时候不要用十六进制)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 2011-10-26
      • 2018-05-04
      • 1970-01-01
      • 2013-06-09
      • 2016-01-18
      相关资源
      最近更新 更多