почему он ничего не может показать на игровой площадке в swift 2?

#ios #swift #swift-playground

#iOS #swift #swift-игровая площадка

Вопрос:

Я пытаюсь использовать SpriteKit, чтобы показать что-то в playground в редакторе assistant. Однако ничего не появилось. Ниже приведен код. И если кто-нибудь может показать результаты (синий прямоугольник), пожалуйста, сообщите мне. Если нет, пожалуйста, выясните, в чем проблема.

 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)
  

Комментарии:

1. Как получить доступ к touchesBegan в вашей playground?

Ответ №1:

Вы можете увидеть текущее состояние представления, нажав кнопку QuickLook (глаз) или кнопку с обведенным плюсом на боковой панели. Но чтобы увидеть анимацию вашей сцены SpriteKit, вам, вероятно, нужен просмотр в реальном времени. Для этого вам нужна платформа XCPlayground.

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

Подробнее читайте об изучении и оценке кода Swift на Playground в справке Xcode или смотрите сессию 408 WWDC 2014: Swift Playgrounds.

Комментарии:

1. кстати XCPlayground , только OSX

2. Здесь я использую UIKit, и он может не запускаться в OSX, который может запускать XCPlayground. И я попробовал кнопку «Глаз», но ничего не произошло.

3. SpriteKit является кроссплатформенным, поэтому вы можете создавать прототипы на игровой площадке OS X, а затем вставлять код в проект iOS. (С несколькими оговорками, с некоторыми из которых вы можете справиться, используя SKColor вместо UIColor .)

4. Обратите внимание, что даже добавление этих строк не приводит к отображению представления в редакторе assistant. Я обновил вопрос.

5. На данный момент это XCPShowView("my SpriteKit view", view: view)

Ответ №2:

Поскольку XCPShowView в Xcode 7.1 это было запрещено, PlaygroundPage PlaygroundSupport вместо этого используйте in . Ниже приведен пример использования SpriteKit в Playground, который вдохновлен этим.

 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