jls*_*ert 18
您可以添加SCNPlane并使用a SCNLookAtConstraint,以便飞机始终查看相机.
您可以创建自定义材质并将其材质属性设置为:
颜色(UIColor或CGColor),指定材质表面的恒定颜色数字(
图像(UIImage或CGImage),指定要在材质表面上映射的纹理
- 核心动画层(CALayer)
- 纹理(SKTexture,MDLTexture,MTLTexture或GLKTextureInfo)
- SpriteKit场景(SKScene)
您还可以使用CoreAnimation或SpriteKit显示动画内容
SceneKit无法使用已在其他位置显示的图层(例如,UIView对象的背衬层)
以下是使用SpriteKit的示例:
例如:
let skScene = SKScene(size: CGSize(width: 200, height: 200))
skScene.backgroundColor = UIColor.clear
let rectangle = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 200, height: 200), cornerRadius: 10)
rectangle.fillColor = #colorLiteral(red: 0.807843148708344, green: 0.0274509806185961, blue: 0.333333343267441, alpha: 1.0)
rectangle.strokeColor = #colorLiteral(red: 0.439215689897537, green: 0.0117647061124444, blue: 0.192156866192818, alpha: 1.0)
rectangle.lineWidth = 5
rectangle.alpha = 0.4
let labelNode = SKLabelNode(text: "Hello World")
labelNode.fontSize = 20
labelNode.fontName = "San Fransisco"
labelNode.position = CGPoint(x:100,y:100)
skScene.addChild(rectangle)
skScene.addChild(labelNode)
Run Code Online (Sandbox Code Playgroud)
例如
let plane = SCNPlane(width: 20, height: 20)
let material = SCNMaterial()
material.isDoubleSided = true
material.diffuse.contents = skScene
plane.materials = [material]
let node = SCNNode(geometry: plane)
scene.rootNode.addChildNode(node)
Run Code Online (Sandbox Code Playgroud)
例如
labelNode.run(SKAction.repeatForever(SKAction.rotate(byAngle: .pi, duration: 2)))
Run Code Online (Sandbox Code Playgroud)