尝试为一组图像创建节点阵列,但失败了,使用场景套件的经验不足。
试图获得
func addNumbers() {
let v1 = drand48()
let v2 = drand48()
let v3 = drand48()
var nodeArray : [SCNScene] = []
var i = 0
while(i < 10) {
nodeArray[i] = SCNScene(named: "\(i).dae")!
self.nodes[i] = nodeArray[i].rootNode.childNode(withName: "\(i)", recursively: false)!
nodes[i].position = SCNVector3(v1, v2, v3)
nodes[i].physicsBody = SCNPhysicsBody.static()
self.sceneView.scene.rootNode.addChildNode(nodes[i])
i += 1
}
在每次尝试运行时由于“致命错误:索引超出范围”而无法正常工作
nodeArray[i] = SCNScene(named: "\(i).dae")!
有人可以帮忙吗?
使用XCode 9和Swift 4.1
答案 0 :(得分:1)
这不是SceneKit的问题,而是对如何向空的可变Array
中添加元素的误解。请查看Collection Types指南。
您将要使用nodeArray.append(…)
而不是nodeArray[i] = …
。