SpriteKit:在UIView中使用SKView而不是初始化Game项目

时间:2017-02-21 18:04:20

标签: swift uiview sprite-kit

SpriteKit全新。目前我有一个UIView,我想为它添加一个精灵节点(就像一个小的UIImageView,但我想要动画,所以使用SpriteKit)。因此,我没有将我的项目初​​始化为游戏项目,几乎在SpriteKit的所有教程中都可以找到。我在这里找到了一个注释:link我现在拥有的是:

ng-show

SpriteSheet与此类似:sprite sheet;它实际上是切割图像图集并将其划分为更小的图像。我跟踪了这​​个过程,这一步确实给出了较小的图像(var'sprite')。但是如果跑步我现在只有一个黑色方块(应该是常量定义的大小)。如果我将scene.backgroundColor设置为白色,那么它是白色的。我可以知道如何从这里开始,我应该如何让精灵出现?

1 个答案:

答案 0 :(得分:1)

除此之外,您的所有代码看起来都很好:

sprite.position = imageView.center // basically the same position as the imageView.frame's x and y value

基本上你认为的位置。 SpriteKit中的坐标系是a)相对于(SK)场景,而不是SKView所包含的任何视图,以及b)相对于UIKit坐标系垂直翻转。如果你想在场景中居中一个精灵,你可能想根据场景的position设置它的size

sprite.position = CGPoint(x: scene.size.width / 2, y: scene.size.height / 2)

顺便说一句,如果你切片你的精灵表并将它放在Xcode资产目录中,可能不需要外部的SpriteSheet代码(并且你更有可能从Apple的优化中受益)。