gpt4 book ai didi

swift - 在 Sprite 套件 swift 中随机化数组中的图像。

转载 作者:行者123 更新时间:2023-11-30 10:16:18 25 4
gpt4 key购买 nike

我想知道是否有人可以告诉我如何制作它,以便我可以生成随机图像导弹。现在我正在使用一张名为“ meteor ”的图像,我还有一些想要显示和随机化的图像。我知道我需要将它们放入一个数组中并创建随机弧。我已经为声音做到了这一点,但我不知道如何为图像做到这一点。这是我到目前为止的代码。

var lastMissileAdded : NSTimeInterval = 0.0
let missileVelocity : CGFloat = 4.0

func addMissile() {
// Initializing missile node
var missile = SKSpriteNode(imageNamed: "meteor")
missile.setScale(0.44)

// Adding SpriteKit physics body for collision detection
missile.physicsBody = SKPhysicsBody(rectangleOfSize: missile.size)
missile.physicsBody?.categoryBitMask = UInt32(obstacleCategory)
missile.physicsBody?.dynamic = true
missile.physicsBody?.contactTestBitMask = UInt32(shipCategory)
missile.physicsBody?.collisionBitMask = 0
missile.physicsBody?.usesPreciseCollisionDetection = true
missile.name = "missile"

// Selecting random y position for missile
var random : CGFloat = CGFloat(arc4random_uniform(300))
missile.position = CGPointMake(self.frame.size.width + 20, random - 20)
self.addChild(missile)
}

func moveObstacle() {
self.enumerateChildNodesWithName("missile", usingBlock: { (node, stop) -> Void in
if let obstacle = node as? SKSpriteNode {
obstacle.position = CGPoint(x: obstacle.position.x - self.missileVelocity, y: obstacle.position.y)
if obstacle.position.x < 0 {
obstacle.removeFromParent()
}
}

})
}

最佳答案

您需要做的就是将它们命名为meteor0、meteor1和meteor2,并使用字符串插值来使用随机图像创建节点:

var missile = SKSpriteNode(imageNamed: "meteor\(arc4random_uniform(3))")

关于swift - 在 Sprite 套件 swift 中随机化数组中的图像。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29804739/

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