Arrays 在每个索引处具有节点的数组

Arrays 在每个索引处具有节点的数组,arrays,swift,random,sprite-kit,Arrays,Swift,Random,Sprite Kit,我正在用Swift中的精灵套件创建一个游戏,我在3个位置生成了三个节点(宝石): self.size.width * 1/6 // left self.size.width * 1/6 // middle self.size.width * 1/6 // right 我创建了一个包含三个位置的数组来随机调用它们: let randomX = [self.size.width * 1/6, self.size.width * 3/6, self.size.width * 5/6]

我正在用Swift中的精灵套件创建一个游戏,我在3个位置生成了三个节点(宝石):

self.size.width * 1/6  // left
self.size.width * 1/6  // middle
self.size.width * 1/6  // right
我创建了一个包含三个位置的数组来随机调用它们:

    let randomX = [self.size.width * 1/6, self.size.width * 3/6, self.size.width * 5/6]   // Array with three positions
    let randomIndex = Int(arc4random_uniform(UInt32(randomX.count)))
    let xPos : CGFloat = randomX[randomIndex]
我还有一个包含三个珠宝节点的阵列:

    let randomJewels = [SKSpriteNode(imageNamed: "jewel1"), SKSpriteNode(imageNamed: "jewel2"), SKSpriteNode(imageNamed: "jewel3"),]
我设置生成节点的位置和大小:

    let jewel1 = randomJewels[Int(arc4random_uniform(3))]
    jewel1.anchorPoint = CGPointMake(0.5, 0)
    jewel1.position = CGPointMake(xPos, self.size.height / 2)
    jewel1.size.width = 40
    jewel1.size.height = 20
    self.addChild(jewel1)
这三个位置需要由三个随机节点(jewel)占据,但是如果我生成另外两个Jewell,它们可能具有相同的位置,因为它们可能具有三个不同的位置


我怎样才能让珠宝占据这三个位置?它不能是空位置,每个x位置上都有一颗宝石!谢谢

创建宝石时,需要从阵列中删除其图像和位置,以便其他宝石不能与之相同:

var imageNames=["jewel1","jewel2","jewel3"]//Names of jewel images
var xPositions=[size.width*1/6,size.width*3/6,size.width*5/6]//posible x positions

for i in 0..<xPositions.count {//Create one jewel for every x position

    let imageIndex=Int(arc4random_uniform(UInt32(imageNames.count)))
    let jewel=SKSpriteNode(imageNamed: imageNames[imageIndex])
    imageNames.removeAtIndex(imageIndex)//remove this image so no other jewel can have it

    let xPositionIndex=Int(arc4random_uniform(UInt32(xPositions.count)))
    jewel.position=CGPoint(x: xPositions[xPositionIndex], y: size.height/2)
    xPositions.removeAtIndex(xPositionIndex)//remove this position so no other jewel can have it

    //Setup the jewel and add it to the scene

}
var-imageNames=[“jewel1”、“jewel2”、“jewel3”]//珠宝图像的名称
var xPositions=[size.width*1/6,size.width*3/6,size.width*5/6]//可能的x位置

谢谢你的回答!但在生成随机宝石的第行,我得到了一个错误:调用中缺少参数“size”的参数!在didMoveToView函数中