gpt4 book ai didi

ios - 将节点设置为从一系列点随机生成并以逐渐加快的速度下降

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:26 25 4
gpt4 key购买 nike

我希望实现的结果:我希望从存储在数组中的 3 个不同位置随机生成一个节点。一旦产生,我希望节点下降。随着时间的推移,我希望节点以更快的速度下降。

我目前拥有的:节点在设定的位置生成并正常掉落。该节点目前不会随机生成,并且它下落的速度不会增加。我编写了一个数组,但它目前没有按应有的方式运行。

更新代码:

 var nodeDropTime:TimeInterval = 5

func fallingNodeAction(){

self.node = SKSpriteNode(imageNamed: "node 2")
self.node.zPosition = 1
self.node.physicsBody = SKPhysicsBody(circleOfRadius: self.node.size.height / 10.0)
self.node.physicsBody?.isDynamic = true
self.node.physicsBody?.allowsRotation = false
self.node.physicsBody?.affectedByGravity = true

nodeDropTime -= 1

var nodePosition = Array<CGPoint>()

nodePosition.append((CGPoint(x:400, y:475)))
nodePosition.append((CGPoint(x:450, y:475)))
nodePosition.append((CGPoint(x:500, y:475)))

self.node.physicsBody?.categoryBitMask = ColliderType.nodeCategory
self.node.physicsBody?.contactTestBitMask = ColliderType.boundary
self.node.physicsBody?.collisionBitMask = 0

let shuffledLocations = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: nodePosition) as! [CGPoint]

self.node.position = shuffledLocations[0]

}

fallingNodeAction()

最佳答案

对于随机位置,导入GameplayKit,因此您可以在 CGPoint 数组上使用 arrayByShufflingObjectsInArray,然后选择数组中的第一项作为位置。代码:

let shuffledLocations = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: nodePosition) as! [CGPoint]

self.node.position = shuffledLocations[0]

关于ios - 将节点设置为从一系列点随机生成并以逐渐加快的速度下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39004302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com