2015-09-26 75 views
2

這是我第一次將SceneKit添加到我的應用中, 我創建了一個名爲「StarScene.scn」的SceneKit文件,我想將其顯示到我的StarViewController中,但它不起作用,我只是不知道如何做正確的。請幫忙。下面的代碼和截圖。非常感謝。添加SceneKit場景文件以查看控制器

- (void)viewDidLoad 
{ 

    [super viewDidLoad]; 

    SCNView *myView = (SCNView *)self.view; 
    myView.scene = [SCNScene sceneNamed:@"StarScene.scn"]; 
    myView.allowsCameraControl = YES; 
    myView.autoenablesDefaultLighting = YES; 
    myView.backgroundColor = [UIColor lightGrayColor]; 

} 

enter image description here

enter image description here

enter image description here

+1

從我在界面生成器屏幕截圖中看到的,似乎'SCNView'實際上是控制器視圖的子視圖,而不是控制器的視圖本身。你的代碼崩潰了嗎? (這將確認'self.view'不是'SCNView',而是一個簡單的'UIView')。 – mnuages

+0

哦,是的,這就是爲什麼,它現在起作用。我沒有意識到SCNView必須直接在控制器視圖本身下,非常感謝。 :) –

回答

1

,似乎SCNView實際上是控制器的視圖的子視圖,而不是控制器查看自己。你的代碼崩潰了嗎? (這將確認self.view不是SCNView而是簡單的UIView)。

您可能希望將SCNView作爲控制器的視圖,或者創建IBOutlet,以便您可以從視圖控制器檢索和操作SceneKit視圖。

1

我想辦法爲:

  1. 添加Scenekit 框架構建階段庫
  2. 製作名爲SCNView
  3. 的方法在你starViewController
  4. 配置您的場景和設置節點-awakeFromNib {}
  5. 導入Scenekit/Scenekit.h在你的故事板檢查一個seprate類您的場景套件視圖的定製類必須命名爲您在第2步中製作的類
  6. 現在很容易將您的scenekit類調用分配初始化在starViewController方法
  7. 從我所看到的界面生成器截圖欣賞Scenekit :)
相關問題