Ios 如何使用精灵套件更改背景色

Ios 如何使用精灵套件更改背景色,ios,swift,sprite-kit,background-color,Ios,Swift,Sprite Kit,Background Color,我想用斯威夫特的精灵套装制作一个游戏,但我对背景色有点问题 我在Xcode上启动了一个新项目,并选择了“游戏”预设和精灵套件。 因此,我有一个灰色背景的启动项目,白色的“Hello World”和当我按下屏幕时出现的宇宙飞船 所以我删除了所有我不关心的代码,但当我启动游戏时,我仍然有灰色背景,即使我试图在GameScene.swift文件中更改它 这是我的档案: AppDelegate.swift import UIKit @UIApplicationMain class AppDelegat

我想用斯威夫特的精灵套装制作一个游戏,但我对背景色有点问题

我在Xcode上启动了一个新项目,并选择了“游戏”预设和精灵套件。 因此,我有一个灰色背景的启动项目,白色的“Hello World”和当我按下屏幕时出现的宇宙飞船

所以我删除了所有我不关心的代码,但当我启动游戏时,我仍然有灰色背景,即使我试图在GameScene.swift文件中更改它

这是我的档案:

AppDelegate.swift

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
{

var window: UIWindow?


func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    return true
  }

func applicationWillResignActive(application: UIApplication) {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
  }

func applicationDidEnterBackground(application: UIApplication) {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
  }

func applicationWillEnterForeground(application: UIApplication) {
    // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
  }

func applicationDidBecomeActive(application: UIApplication) {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
  }

func applicationWillTerminate(application: UIApplication) {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
  }

}
斯威夫特

import SpriteKit

class GameScene: SKScene
{
  override func didMoveToView(view: SKView)
  {
    self.backgroundColor = SKColor.whiteColor()
  }

  override func update(currentTime: CFTimeInterval)
  {
    /* Called before each frame is rendered */
  }
}
GameViwController.swift

import UIKit
import SpriteKit


class GameViewController: UIViewController
{

  override func viewDidLoad()
  {
    super.viewDidLoad()
  }

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

那么如何将背景设置为白色呢?

它不会改变,因为如果
GameSecene
没有被
GameViewController
加载,您将尝试改变背景颜色,因为您删除了该代码

因此,将此代码添加到您的
GameViewController.swift

override func viewDidLoad() {
    super.viewDidLoad()

    // load your GameScene
    let scene = GameScene(size: view.bounds.size)
    let skView = view as! SKView
    skView.showsFPS = false
    skView.showsNodeCount = false
    skView.ignoresSiblingOrder = true
    scene.scaleMode = .ResizeFill
    skView.presentScene(scene)
}

在那之后,它会工作得很好。

它工作得很好,谢谢!这似乎是一个非常愚蠢的错误,但我是雪碧套件和斯威夫特的新手,所以谢谢!很高兴帮助你……)