【发布时间】:2013-10-09 10:36:11
【问题描述】:
我有一个图像图集,它们是 80 x 80。但是 SKTexture 说有些帧是 33x80,尽管它们显然是 80x80。怎么了?我的动画在运行时看起来很不对劲。
代码如下:
SKTextureAtlas *myAtlas = [SKTextureAtlas atlasNamed:@"my"];
NSInteger numberOfImages = [run.textureNames count];
NSLog(@"atlas: %@", myAtlas);
for (int i = 0; i < numberOfImages; i++) {
NSString *textureName = [NSString stringWithFormat:@"walk%.2d", i];
SKTexture *temp = [myAtlas textureNamed:textureName];
[self.runningFrames addObject:temp];
}
日志记录返回:
<SKTextureAtlas> 'my' 16 textures:
(
"<SKTexture> 'walk00.png' (33 x 80)",
"<SKTexture> 'walk01.png' (80 x 80)",
"<SKTexture> 'walk02.png' (33 x 80)",
... omitted
)
这是为什么呢?我的动画完全失控,它从一边移动到另一边,等等。
【问题讨论】:
-
walk one 是否有很多透明空间 (alpha) 区域?请参阅此视频,了解我为什么问youtube.com/watch?v=TDwSR3e6nN0
-
@Smick 是的,它有很多 alpha。所以我应该为我的所有图像添加 1% 的 alpha 作为背景以避免这种情况?这似乎是一个 hack
-
是的,是个黑客,所以我会做视频中那个人所做的事情。
-
我不喜欢视频的链接,例如 Youtube 现在没有加载。你能说一下他是做什么的吗?
-
我观看了视频以寻求有关同一问题的帮助,但视频中的人所做的正是 Dvole 提出的 hack。
标签: ios ios7 sprite-kit