not*_*bob 3 animation stretch ios sprite-kit
我有一个相当简单的动画,有8个相同大小的图像.我没有使用内置的动画方法,因为我想动态地手动控制动画的速度.我正在使用预加载的SKTexture并执行[object setTexture:texture]; 更新内部:currentTime方法.
问题是有时纹理会变形或拉伸.经过大量的调试后,我将其缩小到仅在节点静止时才发生.事实上,如果我将节点移动一个像素并像这样移动它,问题就不会发生:
[self setTexture:texture];
CGPoint currentPosition = self.position;
self.position = CGPointMake(currentPosition.x + 1, currentPosition.y + 1);
self.position = currentPosition;
Run Code Online (Sandbox Code Playgroud)
这对我来说非常讨厌.我想在幕后,它会触发父节点上的重绘.还有其他人经历过这个吗?我有两个主要问题.1)原因是什么?2)如何在不诉诸黑客的情况下解决这个问题?
这是一个普通的框架和一个拉伸版本(我为质量,占位艺术道歉......)

编辑:经过一些评论后,我意识到我忘了提到我缩放了节点的大小小于纹理的大小.即使纹理大小相同,将新纹理应用于较小尺寸的节点也会导致错误.
似乎在使用setTexture设置纹理时: sprite节点不会改变它的大小,直到移动,调整大小等...
您可以通过在设置纹理后手动设置大小来解决此问题.
[spriteNode setTexture:texture];
[spriteNode setSize:texture.size];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |