2016-09-22 5 views
0

私はSwiftでXcodeを使って "テトリス"ゲームを作成するチュートリアルに従っています。このチュートリアルのすべてのステップをたどりましたが、ランタイムエラー:'SCNView'タイプの値を 'SKView'にキャストできません

'SCNView'(0x106c19778)の値を 'SKView'(0x1068fcad0)にキャストできませんでした。次のように

私GameViewController.swiftは次のとおりです。

import UIKit 
import SceneKit 
import SpriteKit 

class GameViewController: UIViewController { 

    var scene: GameScene! 
    var swiftris:Swiftris! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     //Configure the view 
     let skView = view as! SKView 

     skView.multipleTouchEnabled = false 
     //Create and configure the scene 
     scene = GameScene(size: skView.bounds.size) 
     scene.scaleMode = .AspectFill 
     scene.tick = didTick 
     swiftris = Swiftris() 
     swiftris.beginGame() 

     //Presente the scene. 
     skView.presentScene(scene) 

     scene.addPreviewShpaeToScene(swiftris.nextShape!){ 
      self.swiftris.nextShape?.moveTo(StartingColumn, row: StartingRow) 
      self.scene.movePreviewShape(self.swiftris.nextShape!){ 
       let nextShapes = self.swiftris.newShape() 
       self.scene.startTicking() 
       self.scene.addPreviewShpaeToScene(nextShapes.nextShape!) {} 
      } 
     } 
    } 

    override func prefersStatusBarHidden() -> Bool {  
     return true 
    } 

    func didTick(){ 
     swiftris.fallingShape?.lowerShapeByOneRow() 
     scene.redrawShape(swiftris.fallingShape!, completion: {}) 
    } 
} 

は、私はすでにGoogleでそれを検索し、ここで、私はSCNViewとSKViewに関連する何かを見つけるdidn`tの。

ありがとうございます。

答えて

0

私のコードで問題が見つかりました。私はGameViewController内部のビューとしてSKViewをインスタンス化:

self.view = SKView()  
let skView = view as! SKView 

私はストーリーボードにSKViewにビューのクラスを変更しようとしましたが、それは不可能だった、それを行う前に。

改訂をありがとうございます。

関連する問題