帮自己一个忙。 使用SpriteKit。

我真的希望我的妻子不会抓到我 ,我紧张地瞥了一眼肩膀,心想。 我已经开发iOS应用大约一个月了,心里想:“我应该检查一下这款游戏。”

在创建新项目时,我已经看到了游戏选项,并认为我会检查一下。 使用了其他游戏引擎后,他们对技术的熟悉程度就足够了。 内置的动画师效果很好。 控制动画很简单。 但是尽管如此,我为什么还是在凌晨3点坐在这里玩这个东西呢? 我知道,如果我的妻子醒来并意识到我仍然坐在电脑前,那我就有麻烦了。

我开始考虑,大约10分钟后我得出了结论。 我的个人应用程序很烂 。 不是我从Devslopes团队学到的东西,而是我自己的个人项目。 我的应用只是觉得……我不知道……死气沉沉? 我希望他们搬家。 我希望他们思考。 玩完游戏后,我的应用程序变得愚蠢。

SpriteKit已经存在了一段时间,但它的使用率确实很低。 一些开发人员不知所措,因为它似乎与他们在iOS中的习惯有很大不同。 有人认为这是仅用于游戏的工具。 有些人甚至不知道它在那里。 那么SpriteKit可以为您的iOS或tvOS项目做什么?


那么这是什么“ SpriteKit”呢?

SpriteKit是一个适用于iOS和tvOS的框架,它使我们可以轻松地使用Swift使用Xcode构建游戏,并于2013年左右发布。它具有物理引擎,动画处理,粒子系统和内置的形状创建器等功能。 它也有一个定时和自动声音和视觉效果的系统。

你懂了。 这是整个包装。 最重要的是,如果您熟悉iOS开发,它真的很容易使用。 就像其他任何应用程序一样,所有内容都有一个事件。 而且,由于它是由Apple为Apple构建的,因此您可以确定在设备之间不会有任何异常的意外行为。 简化后的想法是在普通应用程序的顶部添加游戏循环层。

在后台,SpriteKit呈现到屏幕的方式与银行应用程序相同。 它只是为我们提供了一个(相当大的)工具集,以使该应用看起来很棒 。 哦,和游戏一样。 在SpriteKit发行时,该工具集具有革命性意义。 从那时起,它变得越来越好。 “ 但是,但是。。。 Unity3d…。 虚幻引擎4…。 ”。

我知道我知道。 它们具有SpriteKit所具有的许多相同功能,然后具有某些相同的功能,但是请务必记住,一切都是工作的工具。 有很多原因可以根据您的情况在其他游戏引擎上使用SpriteKit。


好的,为什么要使用SpriteKit?

就像我说的,是工作的工具。 每种情况都略有不同。 因此,让我们谈谈我可以想到的一些您想使用SpriteKit的原因:

喜欢 Swift中的编码 这是我唯一的语言。

点了。 Swift 一种很棒的语言。 直到我们从Swift 3迁移到Swift 4之前,我还没有使用过它,所以我立即被转换了。 我喜欢很多游戏引擎,所以我不能一夫一妻。 但是,如果其他游戏引擎* cough * Unity * cough *将采用Swift作为脚本选项,那么我将心跳加速。 真正掌握一门语言并深入研究这门语言是有话可说的。

我想在Apple生态系统中制作一款高性能2D游戏。

跨平台的游戏引擎是众神的礼物。 在没有他们帮助的情况下,我从头开始编写游戏。 一旦。 这对我来说足够了。 我喜欢游戏开发,但是在我生命中的那个阶段我对此提出了质疑。 我对我们行业的先驱者表示敬意,他们曾经手工完成所有这些工作或为此编写自己的引擎。

但是,这些跨平台引擎的问题在于,在每个转译(翻译然后编译)过程 ,效率都是低下的。 事情在翻译中迷失了方向,您的游戏速度有所降低。 通过放弃一些速度和功能,我们可以获得不处理十二种不同操作系统的便利。 这是等效交换法则。 因此,如果您要开发一款游戏,那么您就会知道它会非常密集,请进行一些基准测试,并考虑将SpriteKit作为避免此类情况的选择。 如果您想变得非常紧张,总会有《金属》,但这是一个不同的话题。

我只想针对Apple产品,例如Apple TV,iPhone或iPad。

如果您唯一的目标是苹果家族,我建议您将SpriteKit与另一个引擎一起使用。 它将为您节省很多不兼容和配置方面的问题。

我想游戏化我的应用程序。

您有想要使自己更酷的应用程序吗? 大。 您可以在应用加载大量数据或等待连接或事件时添加小型游戏。 Google Chrome浏览器打开时是否曾经没有互联网? 这样的事情。 您可以将游戏动画添加到按钮或其他控件。 您可以使用SpriteKit来获得动画电影风格的背景。 您可以使用SpriteKit与其他组件进行交互。 UIKit和SpriteKit之间的混合应用程序易于设置,我个人很喜欢它们。 这里有无穷的可能性。

我想快速开发出一个游戏原型,在我看来,最好的平台是苹果产品。

SpriteKit使动画变得容易。 它们使用户交互更加容易设置。 即使您想使用其他引擎,SpriteKit也会为您提供帮助。 我是原型制作的忠实粉丝。 没有比让我花40个小时以上的游戏来使我感到无聊更让我失望的了。 做了几次之后,我建议您在进行抛光之前对所有东西进行原型设计。 用户不需要精美的图形和效果即可确定游戏是否有趣。 当然,我反对发布未完成的产品,因此游戏永远都不应停在原型上(除非它糟透了,而您又放弃了它)。 使用Spritekit,您可以像捕获一个sprite节点变量并告诉它一样轻松地添加动画,例如运动:

 让moveNodeUp = SKAction.moveBy(x:0.0,y:100.0,持续时间:1.0) 
rocketNode.run(moveNodeUp)

我是游戏开发的新手,只想涉猎一点。

欢迎进行游戏开发! 它摇滚,我喜欢它。 如果您熟悉iOS开发或Swift,那么SpriteKit是潜水和涉猎的好地方。 您可以学习游戏物理,游戏循环,事件处理的基础知识,以及在使用此框架时需要了解的所有其他知识。 如果您已经知道表演节目所用语言的工作方式,则意味着您可以专注于学习如何使您的想法变为现实。

其他游戏引擎也是如此……..肿胀。

这是真的。 与5年前相比,情况已经好得多。 但是无论如何,任何可移植的游戏引擎都会有一些开销。 通过使用SpriteKit并仅导入您真正需要的内容,可以节省用户设备上的大量空间。 尽管现在还没什么大不了的,但我们始终希望了解我们的游戏或应用拥有的足迹,并尊重用户的记忆。 是他们的,而不是我们的。


好吧,我深信。 SpriteKit很好,我猜。 怎么办?

现在您就开始了。 SpriteKit真的很容易启动和运行。 如果您曾经启动过iOS应用程序,则将熟悉以下屏幕。 不用单击“ Single View App”或任何其他选项,只需选择“ Game”。

然后为您的项目提供所需的标题和元数据,以及以下设置:

如果您只是刚入门,最好不要使用GameplayKit,直到您对系统有了更好的了解。 也可以随意包含单元和UI测试,只是知道它们不是强制性的。 之后,可以在预制的游戏场景“ GameScene.sks”中随意玩耍。

什么,您想要更多的细节吗? 幸运的是,我们很快会在其中提供一些内容。 Devslopes的Apple Slope将在不久的将来拥有一些包含所有这些信息以及更多信息的内容。 我们将引导您完成第一个游戏,向您展示如何处理动画,教您使用SpriteKit的游戏循环和物理引擎,以及开始将游戏创意变为现实所需的所有其他知识。