SpriteKit 学习 Drawing SpriteKit Content in a View

  • Drawing SpriteKit Content in a View(在视图中绘制Sprite Kit的内容)
    使用SpriteKit显示视觉内容。

概述

*通过配置SpriteKit渲染器,其场景以及您在场景顶部布置的视觉对象,在屏幕上显示SpriteKit内容。SpriteKit提供了专门为各种类型的内容设计的对象(请参阅“场景构建的节点”),但是为了简单起见,本文将在视图中显示图像。

除了使用视图外,还有其他方法可以绘制SpriteKit内容。有关选项,请参见选择SpriteKit场景渲染器。

图1 SpriteKit视图中显示的图像

f78ec8ee-6eb4-46df-8204-22bc40178469.png

因为本文中的代码设置了视图,所以您将以下每个代码清单中的行放入视图控制器的函数中。viewDidLoad()

创建场景

SpriteKit显示的所有内容都是通过一个场景对象完成的,该对象是的实例SKScene。使用以下代码来设置基本场景:

let scene = SKScene(size: skView.bounds.size)

// Set the scene coordinates (0, 0) to the center of the screen.
scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)

当您通过size视图的的bounds现场初始化,您尺寸现场视图的大小。当您设置场景的来,你确定坐标(0,0)映射到视图的中心。 anchorPoint(0.5,0.5)

有关如何设置更改视图中对象位置的更多讨论,请参见使用锚点移动精灵框架。anchorPoint

在现场布置视觉内容

您可以使用节点对象在SpriteKit视图中显示图形。SpriteKit根据内容提供不同的节点(请参阅Draw的节点)。在这种情况下,请使用来在视图中显示图像:SKSpriteNode

let image = SKSpriteNode(imageNamed: "myImage.png")
// Add the image to the scene.
scene.addChild(image)

访问和修改节点树中将详细介绍在场景中布置内容的功能。

在视图中呈现场景

设置场景后,可通过调用以下命令在视图中显示它:presentScene(_:)

if let skView = self.view as? SKView { 
    skView.presentScene(scene)
}

因为本文中的代码设置了视图,所以您将其添加到视图控制器的功能中。viewDidLoad()

另外阅读

SKScene

一个组织所有活动SpriteKit内容的对象。

Nodes for Scene Building

定义场景内容的外观或布局。

你可能感兴趣的:(SpriteKit 学习 Drawing SpriteKit Content in a View)