【发布时间】:2018-11-19 01:32:20
【问题描述】:
我正在制作一个游戏,其中有一个节点正在生成并从屏幕顶部掉落。但是,我想让节点以 3 秒的随机时间间隔生成。所以一个在 1 秒内产生,下一个在 2.4 秒内产生,下一个在 1.7 秒内产生,以此类推。我正在为这个代码应该是什么而苦苦挣扎。
我目前用于生成节点的代码:
let wait = SKAction.waitForDuration(3, withRange: 2)
let spawn = SKAction.runBlock { addTears()
}
let sequence = SKAction.sequence([wait, spawn])
self.runAction(SKAction.repeatActionForever(spawn))
我的 addTears() 函数的代码是:
func addTears() {
let Tears = SKSpriteNode (imageNamed: "Tear")
Tears.position = CGPointMake(Drake1.position.x, Drake1.position.y - 2)
Tears.zPosition = 3
addChild(Tears)
//gravity
Tears.physicsBody = SKPhysicsBody (circleOfRadius: 150)
Tears.physicsBody?.affectedByGravity = true
//contact
Tears.physicsBody = SKPhysicsBody (circleOfRadius: Tears.size.width/150)
Tears.physicsBody!.categoryBitMask = contactType.Tear.rawValue
Tears.physicsBody!.contactTestBitMask = contactType.Bucket.rawValue
}
【问题讨论】:
-
使用
arc4random_uniform()函数生成随机数。然后在 timeInterval 中分配它们。 -
您能举个例子说明如何在 timeInterval 中分配它们吗?
标签: swift sprite-kit nstimer skspritenode