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
推荐阅读
- javascript - 如何根据使用 angular8 的输入使输入显示为句子大小写
- python - Python:如何不让这个简单的功能陷入僵局?
- c# - 如何在 NUnit 中获取 FullName 作为 TestName
- python - GCP Cloud 函数加载触发 OBJECT_FINALIZE_EVENT_TYPE 的文件
- python - 为什么这段代码会报错:“AttributeError: 'Application' object has no attribute 'connection_made'”
- gitlab - Gitlab工作卡住了
- sql - 使用某种导入方式(API 或其他?)将 KITS 和 KITLNKS 导入 Volusion
- excel - SQL MDX 到 Excel MDX 以创建计算度量
- python - 避免关闭 OpenCv 窗口
- jquery - 使用表单发布方法发送表时,动态添加到表的类丢失