SpriteKit
将具有流畅动画的高性能2D内容添加到您的应用中,或使用一组基于2D游戏的高级工具来创建游戏。
总览
SpriteKit是用于在二维中绘制形状,粒子,文本,图像和视频的通用框架。 它利用Metal来实现高性能渲染,同时提供简单的编程界面,使创建游戏和其他图形密集型应用程序变得容易。 使用丰富的动画和物理行为集,您可以快速添加视觉元素的生命,并在屏幕之间轻松过渡。
SpriteKit在iOS,macOS,tvOS和watchOS上受支持,并且与GameplayKit和SceneKit等框架很好地集成在一起。
主题
Drawing SpriteKit Content in a View
通过配置SpriteKit渲染器,其场景以及您在场景顶部布置的视觉对象,在屏幕上显示SpriteKit内容。 SpriteKit提供了专门为各种类型的内容设计的对象(请参阅 Nodes for Scene Building
),但为简单起见,本文将在视图中显示图像。
在SpriteKit视图中展示一张图片注意
除了使用视图外,还有其他方法可以绘制SpriteKit内容。 有关选项,请参见选择Choosing a SpriteKit Scene Renderer。
因为本文中的代码设置了视图,所以您将以下每个代码清单中的行放入视图控制器的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)
当您将视图边界的大小传递给场景初始化器时,您将场景的大小调整为视图的大小。 将场景的anchorPoint设置为(0.5,0.5)时,将确定坐标(0,0)映射到视图的中心。
有关设置锚点如何更改视图中对象位置的更多讨论,请参见 Using the Anchor Point to Move the Sprite’s Frame
在场景顶部布置视觉内容
您可以使用节点对象在SpriteKit
视图中显示图形。 SpriteKit
根据内容提供不同的节点(请参见Nodes that Draw) 在这种情况下,请使用 SKSpriteNode`在视图中显示图像:
let image = SKSpriteNode(imageNamed: "myImage.png")
// Add the image to the scene.
scene.addChild(image)
Accessing and Modifying the Node Tree中更详细地介绍了在场景中布置内容的功能。
在视图中呈现场景
设置场景之后,可以通过调用 presentScene:在视图中显示它:
if let skView = self.view as? SKView {
skView.presentScene(scene)
}
因为本文中的代码设置了视图,所以您可以将其添加到视图控制器的viewDidLoad
函数中。
SKScene(场景)
一个组织所有活动SpriteKit内容的对象。
详细请查看章节iOS SpriteKit - Scene
Nodes for Scene Building(节点)
定义场景内容的外观或布局。
等待更新。。。
网友评论