gpt4 book ai didi

ios - 显示不同的 SKScene Swift

转载 作者:行者123 更新时间:2023-11-28 06:32:29 26 4
gpt4 key购买 nike

我正在 sprite kit 中创建一个应用程序,我试图从一个不是默认“GameScene”的场景加载它。我已经创建了一个名为“Level1”的新 .sks 文件并创建了一个名为“Level1.swift”的 Cocoa Touch 类。但是,“Level1.swift”中的场景仍然没有显示在应用程序中。

这是 Level1.swift 的代码:

    import Foundation
import SpriteKit

class Level1: SKScene {
var tile = Tile(tile: SKShapeNode(rect: CGRect(x: 0, y: 0, width: 320, height: 320), cornerRadius: 10.0))
var tile2 = Tile(tile: SKShapeNode(rect: CGRect(x: 0, y: 0, width: 320, height: 320), cornerRadius: 10.0))
var tile3 = Tile(tile: SKShapeNode(rect: CGRect(x: 0, y: 0, width: 320, height: 320), cornerRadius: 10.0))
var tile4 = Tile(tile: SKShapeNode(rect: CGRect(x: 0, y: 0, width: 320, height: 320), cornerRadius: 10.0))

override func didMove(to view: SKView) {
backgroundColor = UIColor.white

tile.color = UIColor.green
tile.maxTileNumberCounter = 4
tile.tileNumber = 1
tile.initializeTile()

tile2.color = UIColor.blue
tile2.maxTileNumberCounter = 4
tile2.tileNumber = 2
tile2.initializeTile()

tile3.color = UIColor.blue
tile3.maxTileNumberCounter = 4
tile3.tileNumber = 3
tile3.initializeTile()

tile4.color = UIColor.blue
tile4.maxTileNumberCounter = 4
tile4.tileNumber = 4
tile4.initializeTile()



self.addChild(tile.tile)
self.addChild(tile2.tile)
self.addChild(tile3.tile)
self.addChild(tile4.tile)
}

这是我的 viewController 的代码:

import UIKit
import SpriteKit
import GameplayKit

class GameViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = SKScene(fileNamed: "Level1") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill

// Present the scene
view.presentScene(scene)
}

view.ignoresSiblingOrder = true

view.showsFPS = true
view.showsNodeCount = true
}
}

override var shouldAutorotate: Bool {
return true
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
if UIDevice.current.userInterfaceIdiom == .phone {
return .allButUpsideDown
} else {
return .all
}
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}

override var prefersStatusBarHidden: Bool {
return true
}
}

如能提供帮助,我们将不胜感激。

最佳答案

同意@Knight0fDragon。您应该检查您的 Level1.sks 文件,在 Custom Class 检查器中将 Custom Class 设置为 Level1。这是一个demo

关于ios - 显示不同的 SKScene Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39935846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com