【发布时间】:2013-05-11 10:02:24
【问题描述】:
我正在使用 cocos2d-2 从左到右移动精灵。这是我在更新方法中用来移动精灵的代码,
-(void) update:(ccTime)delta
{
for (CCSprite* sprite in self.spriteBatch.children)
{
CGPoint pos = sprite.position;
pos.x -= (self.scrollSpeed * factor.floatValue) * (delta * 50);
sprite.position = pos;
}
}
精灵在移动时没有任何问题,但它们在移动时会闪烁。我正在使用 iOS 版本 5.1.1 的 iPhone 4 上对此进行测试。我通读了论坛并尝试设置 setDepthTest:NO 和 setProjection:kCCDirectorProjection2D,但它们在移动时仍然闪烁。请帮忙。
提前致谢
【问题讨论】:
-
只是好奇:为什么不移动 self.spriteBatch(假设它是 CCSpriteBatchNode 或 CCNode 的后代),而不是一一移动它的子节点?
-
那是因为每个孩子的移动速度不同,但是我没有在这里粘贴那部分代码。
-
你真的是指闪烁(可见/不可见)吗?还是不稳定的运动? cocos2d哪个版本?你用vertexZ吗?
-
我的意思是,精灵在移动时会摇晃。它们一直可见,有点像摇晃的动作。我正在使用 cocos2d v2.0.0 版本。我不确定vertexz是什么意思。我在 cocos2d 中使用了 z 属性,并将子元素添加到 sprite 批处理中。
-
我有同样的问题, setDepthTest:NO 和 setProjection:kCCDirectorProjection2D 没有帮助。你有解决办法吗?
标签: ios objective-c cocos2d-iphone