Итак, в основном я ищу, чтобы выбрать один из 4 разных цветных шариков наугад, чтобы войти в сцену, каждая из которых имеет анимацию, физические свойства и движение. & Интервал, который у меня уже есть закодированы. Я не уверен точно, как сделать массив, а затем выбрать случайным образом из массива 4 цветных шаров , так что у меня есть один шар, выбранный наугад, чтобы войти в сцену. Для того, чтобы было более понятно, что я спрашиваю здесь некоторый код (я использую только два мяча в этом коде, так что вы не должны читать больше):Как выбрать из массива спрайтов в swift
вар moveandremove = SKAction() < это в моем ballScene.swift
нерестится runBlock находится внутри didMovetoView
пусть икру = SKAction.runBlock ({ () в
self.allballs()
})
let delay = SKAction.waitForDuration(2.0)
let SpawnDelay = SKAction.sequence([spawn, delay])
let spawndelayforever = SKAction.repeatActionForever(SpawnDelay)
self.runAction(spawndelayforever)
let distance = CGFloat(brnball.frame.width * 20 + brnball.frame.width)
let moveball = SKAction.moveByX(-distance, y: 0, duration: NSTimeInterval(0.003 * distance))
let removeball = SKAction.removeFromParent()
moveandremove = SKAction.sequence([moveball])
}
func allballs() {
TextureAtlasblk = SKTextureAtlas(named: "blkball")
for i in 1...TextureAtlasblk.textureNames.count{
var Name = "blkball_\(i)"
blkarray.append(SKTexture(imageNamed: Name))
}
blkball = SKSpriteNode(imageNamed: "blkball_1")
blkball.position = CGPoint(x: CGRectGetMidX(self.frame) + 100, y: CGRectGetMidY(self.frame))
blkball.zPosition = 7
blkball.setScale(0.1)
self.addChild(blkball)
blkball.runAction(SKAction.repeatActionForever(SKAction.animateWithTextures(blkarray, timePerFrame: 0.2)))
//brownball
TextureAtlasbrn = SKTextureAtlas(named: "brnball")
for i in 1...TextureAtlasbrn.textureNames.count{
var Name = "brnball_\(i)"
brnarray.append(SKTexture(imageNamed: Name))
}
brnball = SKSpriteNode(imageNamed: "brnball_1")
brnball.position = CGPoint(x: CGRectGetMidX(self.frame) + 50, y: CGRectGetMidY(self.frame))
brnball.zPosition = 7
brnball.setScale(0.1)
self.addChild(brnball)
brnball.runAction(SKAction.repeatActionForever(SKAction.animateWithTextures(brnarray, timePerFrame: 0.2)))
Вот моя ужасная отправная точка при попытке создать массив, чтобы выбрать из каждого шара (это в моих allballs() функция):
вар ballarray: NSMutableArray = [blkball, brnball, yelball, bluball]
runAction(moveandremove)
Я новичок в быстрой и довольно безнадежным, было бы удивительным, если кто-то может помочь мне :)
Благодарности
Это он, вы легенда! Благодаря :) – Youngiysh27