//
// GameViewController.swift
// SCNNode节点的用法详解
//
// Created by 柯木超 on 2019/4/9.
// Copyright © 2019年 柯木超. All rights reserved.
//
import UIKit
import QuartzCore
import SceneKit
class GameViewController: UIViewController {
var scnView : SCNView!
override func viewDidLoad() {
super.viewDidLoad()
self.setUp()
self.addNode()
}
func setUp() {
// 创建试图
scnView = SCNView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
scnView.center = CGPoint(x: self.view.frame.width/2, y: self.view.frame.height/2)
scnView.backgroundColor = UIColor.yellow
self.view.addSubview(scnView)
// 创建场景
let scene = SCNScene()
scnView.scene = scene
}
func addNode() {
// 创建几何立体
let phere = SCNSphere(radius: 0.5)
// 创建节点,绑定几何体
let node = SCNNode(geometry: phere)
// 把节点添加进去场景
scnView.scene?.rootNode.addChildNode(node)
// 给节点添加子节点
let chridNode:SCNNode = SCNNode()
chridNode.position = SCNVector3(-0.5, 0, 1)
// 设置几个形状
let text = SCNText(string: "scnese", extrusionDepth: 0.03)
// 设置字体大小
text.font = UIFont.systemFont(ofSize: 0.15)
// 给节点绑定几何体
chridNode.geometry = text
node.addChildNode(chridNode)
scnView.scene?.rootNode.addChildNode(node)
}
override var shouldAutorotate: Bool {
return true
}
override var prefersStatusBarHidden: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
if UIDevice.current.userInterfaceIdiom == .phone {
return .allButUpsideDown
} else {
return .all
}
}
}