为什么它在swift 2中的操场上无法显示任何内容?

时间:2014-06-19 22:19:34

标签: ios swift swift-playground

我尝试使用spriteKit在助理编辑器中的操场上显示内容。然而,没有任何表现。下面是代码。如果任何人可以显示结果(蓝色矩形),请通知我。如果没有,请找出问题所在。

import UIKit
import SpriteKit

let view:SKView = SKView(frame: CGRectMake(0, 0, 1000, 800))
let scene:SKScene = SKScene(size: CGSizeMake(1000, 800))
scene.scaleMode = SKSceneScaleMode.AspectFit

let blueBox: SKSpriteNode = SKSpriteNode(color: UIColor.blueColor(), size: CGSizeMake(300, 300))
blueBox.position = CGPointMake(512, 384)
scene.addChild(blueBox)

view.presentScene(scene)

2 个答案:

答案 0 :(得分:3)

您可以通过单击侧栏中的QuickLook(眼睛)或带圆圈的加号按钮来查看视图的当前状态。但要查看您的SpriteKit场景动画,您可能需要实时视图。为此,您需要XCPlayground框架。

import XCPlayground
XCPShowView("my SpriteKit view", view)

有关详细信息,请阅读Xcode帮助中的Exploring and Evaluating Swift Code in a Playground或观看WWDC 2014 session 408: Swift Playgrounds

答案 1 :(得分:0)

在Xcode 7.1中弃用了XCPShowView,请在PlaygroundPage中使用PlaygroundSupport。以下是在Playground中使用SpriteKit的示例,其灵感来自this

import SpriteKit
import PlaygroundSupport

// Create the SpriteKit View
let view = SKView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))

// Create the scene and add it to the view
let scene = SKScene(size: CGSize(width: 500, height: 500))
scene.scaleMode = SKSceneScaleMode.aspectFit
scene.backgroundColor = .white
view.presentScene(scene)

// Add a red box to the scene
let redBox = SKSpriteNode(color: SKColor.red, size: CGSize(width: 200, height: 200))
redBox.position = CGPoint(x: 250, y: 250)
redBox.run(SKAction.repeatForever(SKAction.rotate(byAngle: -5, duration: 5)))
scene.addChild(redBox)

// Show in assistant editor
PlaygroundPage.current.liveView = view
PlaygroundPage.current.needsIndefiniteExecution = true