SpriteKit全新。目前我有一个UIView,我想为它添加一个精灵节点(就像一个小的UIImageView,但我想要动画,所以使用SpriteKit)。因此,我没有将我的项目初始化为游戏项目,几乎在SpriteKit的所有教程中都可以找到。我在这里找到了一个注释:link我现在拥有的是:
ng-show
SpriteSheet与此类似:sprite sheet;它实际上是切割图像图集并将其划分为更小的图像。我跟踪了这个过程,这一步确实给出了较小的图像(var'sprite')。但是如果跑步我现在只有一个黑色方块(应该是常量定义的大小)。如果我将scene.backgroundColor设置为白色,那么它是白色的。我可以知道如何从这里开始,我应该如何让精灵出现?
答案 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的优化中受益)。