2017-01-13 3 views
0

私はSCNBoxの色を定期的に変更しようとしています。例えば、展開されたゲームのノードの色がスムーズに移行しています。ノードをフェード/トランジションするにはどうすればいいですか?

 let base = SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0) 
     let emptyBase = SCNNode(geometry: base) 
     emptyBase.position = SCNVector3(0, 0.5, 0) 

     emptyBase.physicsBody = SCNPhysicsBody.kinematic() 
     //emptyBase.physicsBody!.restitution = 1 

     emptyBase.physicsBody!.categoryBitMask = CC.base.rawValue 


     if #available(iOS 9.0, *) { 
      emptyBase.physicsBody!.contactTestBitMask = CC.ball.rawValue 
     } else { 
      // Fallback on earlier versions 
      emptyBase.physicsBody!.collisionBitMask = CC.ball.rawValue 
     } 


      if GameViewController.gameOverlay!.scoreNumber >= 0 { 

       let defaultMaterial = SCNMaterial() 

        defaultMaterial.diffuse.contents = randomColor() 
        defaultMaterial.specular.contents = randomColor() 
        defaultMaterial.emission.contents = randomColor() 

       base.firstMaterial? = defaultMaterial 


      } 

     rootNode.addChildNode(emptyBase) 

    } 

ありがとうございます!

答えて

1

あなたは、暗黙的なアニメーションでこのような何かを行うことができます:

// Objective-C 

     [SCNTransaction setAnimationDuration:2.0]; 
     base.firstMaterial = defaultMaterial; 
関連する問題