我正在按照教程在Swift中使用XCode 7创建一个“俄罗斯方块”游戏。我按照本教程中的每一步操作,但是我遇到了运行时错误:
无法将'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: {})
}
}
我已经在谷歌和这里搜索了它,我没有找到任何与SCNView和SKView相关的内容。
提前谢谢。
答案 0 :(得分:0)
我确实发现了我的代码问题。我将SKView实例化为GameViewController中的视图:
self.view = SKView()
let skView = view as! SKView
在我这样做之前,我试图在故事板中将视图的类更改为SKView,但这是不可能的。
我要感谢您的修改。