如何随机选择一个 SKSpriteNode? [英] How to randomly choose a SKSpriteNode?
问题描述
我想使用随机从 4 个敌人中进行选择并将其呈现在场景中.为此,我做了这个:
I want to choose from 4 enemies using random and present it on scene. For that purpose I've made this:
func enemyPicker() -> SKSpriteNode {
var enemyArray = [mouse, robot, drone, block, bird]
var countArray = UInt32(enemyArray.count)
var pickOneEneny = arc4random_uniform(countArray)
var randomElement = Int(pickOneEnemy)
return enemyArray.randomElement
}
但 Xcode 告诉我 SKSpriteNode 没有名为 randomElement
的成员.它肯定不会,但是我如何对我的函数说我需要它从数组中选择随机 Int 并将其分配给实际的敌人?
But Xcode says to me that SKSpriteNode does not have a member named randomElement
. And it surely doesn't, but how would I say to my function that I need it to pick and assign that random Int to an actual enemy from array?
我尝试使用这个答案 但这对我不起作用.我也尝试将 -> SKSpriteNode 更改为 SKTexture、String 和T",但没有任何运气.
I tried to use this answer but it's not working for me. I also tried to change -> SKSpriteNode to SKTexture, String and "T" and had not any luck with it.
我的 SpriteNode 声明如下:
My SpriteNodes are declared like:
var mouse = SKSpriteNode()
let mouseAtlas = SKTextureAtlas(named: "mouse")
var mouseArray = [SKTexture]()
mouseArray.append(mouseAtlas.textureNamed("mouse_0"));
mouseArray.append(mouseAtlas.textureNamed("mouse_1"));
mouseArray.append(mouseAtlas.textureNamed("mouse_2"));
mouse = SKSpriteNode(texture: mouseArray[0]);
self.mouse.position = CGPointMake(CGRectGetMaxX(self.frame), CGRectGetMidY(self.frame) - 138)
self.mouse.size = CGSizeMake(self.mouse.size.width, self.mouse.size.height + mouse.size.height / 2)
self.mouse.name = "mouse"
self.addChild(mouse)
推荐答案
func enemyPicker() -> SKSpriteNode {
let enemyArray = [mouse, robot, drone, block, bird]
return enemyArray[Int(arc4random_uniform(UInt32(enemyArray.count)))]
}
这篇关于如何随机选择一个 SKSpriteNode?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!