【发布时间】:2015-02-09 08:14:48
【问题描述】:
视图控制器
import UIKit
import SceneKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scnView = self.view as SCNView
scnView.backgroundColor = UIColor.blackColor()
let sizeScnView = CGSize(width: 100.0, height: 100.0)
let centerView = CGPoint(x: CGRectGetMidX(self.view.frame) - sizeScnView.width/2, y: CGRectGetMidY(self.view.frame) - sizeScnView.height/2)
let scene = Tile(frame: CGRect(origin: centerView, size: sizeScnView))
scnView.scene = scene
}
}
平铺
import UIKit
import SceneKit
class Tile: SCNScene {
override init() {
super.init()
let ball = SCNSphere(radius: 0.5)
let ballNode = SCNNode(geometry: ball)
ball.firstMaterial?.diffuse.contents = UIColor.orangeColor()
self.rootNode.addChildNode(ballNode)
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
【问题讨论】:
-
描述您当前的代码有什么问题,以及您想要什么不同的结果。 (一些看起来不像代码但应该像代码的行是否存在格式问题?)
-
我在“let scene =”行收到一条错误消息。错误消息:调用中的额外参数“框架”
-
let scene = Tile(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) // 也不行
-
Tile是SCNScene的子类。场景没有frame属性,也没有这样的初始化程序。SCNView会。
标签: swift scenekit scnnode sceneview