微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Playgrounds 上使用 SpriteKit 声明背景后出现 Swift 错误

如何解决在 Playgrounds 上使用 SpriteKit 声明背景后出现 Swift 错误

我对学习 Swift 语言还比较陌生,所以我不知道自己缺少什么,但我似乎不明白为什么这行不通。我的目标是使用 SpriteKit 为我的场景添加背景,但是每当我尝试添加背景时,playgrounds 都会花一秒钟,然后显示一个错误

运行此游乐场时出现问题。

我已经使用 SpriteKit 设置了一个场景,所以当这段代码不存在时,我确实会得到一个黑屏,但是由于某种原因,当这段代码出现时,一切似乎都失败了:

        let bg = SKSpriteNode(texture: SKTexture(image: #imageLiteral(resourceName: "IMG_0483.jpg")))
        bg.setScale(2.0)
        bg.zPosition = -10
        bg.position = CGPoint(x: frame.midX,y: frame.midY)
        addChild(bg)

这里是脚本的大上下文:

import SpriteKit

public class GameScene: SKScene {
    var player: SKSpriteNode!
    
    public override func didMove(to view: SKView) {
        
        // Backround
        let bg = SKSpriteNode(texture: SKTexture(image: #imageLiteral(resourceName: "IMG_0483.jpg")))
        bg.setScale(2.0)
        bg.zPosition = -10
        bg.position = CGPoint(x: frame.midX,y: frame.midY)
        addChild(bg)
    }
}

这是我调用它的主要位置

import UIKit
import SpriteKit
import PlaygroundSupport

let skView = SKView(frame: .zero)

let gameScene = GameScene(size: UIScreen.main.bounds.size)

gameScene.scaleMode = .aspectFill
skView.presentScene(gameScene)


PlaygroundPage.current.liveView = skView
PlaygroundPage.current.wantsFullScreenLiveView = true

解决方法

试试这个:

      let bg = SKSpriteNode(imageNamed: "image.jpg")
       bg.setScale(2.0)
       bg.zPosition = -10
       bg.position = CGPoint(x: frame.midX,y: frame.midY)
       addChild(bg)

显示场景的位置:

    let skView = SKView(frame: UIScreen.main.bounds)
    let gameScene = GameScene(fileNamed: "GameScene")
    gameScene?.scaleMode = .aspectFill
    skView.presentScene(gameScene)
    PlaygroundPage.current.liveView = skView

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。