Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在swift中创建SCNNode数组_Arrays_Swift_Scenekit_Scnnode - Fatal编程技术网

Arrays 如何在swift中创建SCNNode数组

Arrays 如何在swift中创建SCNNode数组,arrays,swift,scenekit,scnnode,Arrays,Swift,Scenekit,Scnnode,我想创建一个基金来创建一个节点数组。我的声明如下: func createSphereNode () { var spheres = [SCNNode()] let sphereGeometry = SCNSphere(radius: 2.5) let sphereMaterial = SCNMaterial() sphereMaterial.diffuse.contents = UIColor.greenColo

我想创建一个基金来创建一个节点数组。我的声明如下:

func createSphereNode () {




        var spheres = [SCNNode()]



        let sphereGeometry = SCNSphere(radius:   2.5)
        let sphereMaterial = SCNMaterial()
        sphereMaterial.diffuse.contents = UIColor.greenColor()
        sphereGeometry.materials = [sphereMaterial]

        for var i=0;i<15;i++ {

         let   gravityFields  = SCNPhysicsField.radialGravityField()
            gravityFields .strength = 0
            spheres[i]  = SCNNode(geometry: sphereGeometry)
            spheres[i].position =  SCNVector3(x: Float(-15 + (6 * i)), y: 1.5, z: 0)
            spheres[i].physicsField = gravityFields
            let shape = SCNPhysicsShape(geometry: sphereGeometry, options: nil)
           let   sphereBodys  = SCNPhysicsBody(type: .Kinematic, shape: shape)
            spheres[i].physicsBody = sphereBodys

            sceneView.scene?.rootNode.addChildNode(spheres[i])




        }
func createSphereNode(){
var spheres=[SCNNode()]
让球墨法=圆球(半径:2.5)
设sphereMaterial=SCNMaterial()
sphereMaterial.diffuse.contents=UIColor.greenColor()
SpheregeMetry.materials=[球体材料]
对于var i=0;i找到的解决方案:

func createSphereNode () {
  //  var gravityFields = []
  //  var shapes = [SCNPhysicsShape()]
  //  var sphereBodys = [SCNPhysicsBody]()
 //   var spheres = [SCNNode()]

    var spheresArray : [SCNNode] = []



    let sphereGeometry = SCNSphere(radius:   1.5)
    let sphereMaterial = SCNMaterial()
    sphereMaterial.diffuse.contents = UIColor.greenColor()
    sphereGeometry.materials = [sphereMaterial]

    for var i=0;i<15;i++ {

     let   gravityFields  = SCNPhysicsField.radialGravityField()
        gravityFields .strength = 0
       let spheres  = SCNNode(geometry: sphereGeometry)
        spheres.position =  SCNVector3(x: Float(-15 + (6 * i)), y: 1.5, z: 0)
        spheres.physicsField = gravityFields
        let shape = SCNPhysicsShape(geometry: sphereGeometry, options: nil)
       let   sphereBodys  = SCNPhysicsBody(type: .Kinematic, shape: shape)
        spheres.physicsBody = sphereBodys

        sceneView.scene?.rootNode.addChildNode(spheres)

        spheresArray.append(spheres)




    }
func createSphereNode(){
//var gravityFields=[]
//变量形状=[SCNPphysisShape()]
//变量sphereBodys=[SCNPhysicsBody]()
//var spheres=[SCNNode()]
变量spheresArray:[SCNNode]=[]
让球墨法=圆球(半径:1.5)
设sphereMaterial=SCNMaterial()
sphereMaterial.diffuse.contents=UIColor.greenColor()
SpheregeMetry.materials=[球体材料]
对于var i=0;i“当我运行代码时……我有编译器错误。”–这没有任何意义。您可能有编译器错误(在这种情况下,程序未编译,您无法运行)或运行时错误(当程序已编译,但运行时会发生错误)。