比方说,我们有一个具有行动把它捆起来一个CCSprite对象:CCSprite用行动跨越屏幕边界(副本精灵问题)
-(void) moveJack
{
CCSpriteSheet *sheet = (CCSpriteSheet*)[self getChildByTag:kSheet];
CCSprite *jack = (CCSprite*)[sheet getChildByTag:kJack];
...
CCSequence *seq = [CCSequence actions: jump1, [jump1 reverse], jump2, nil];
[jack runAction:seq];
}
如果精灵越过屏幕边界,我想显示在对面。 因此,原始精灵一半显示在右侧(例如),另一半显示在左侧,因为它尚未完全交叉。 显然(或者是),我需要2个精灵来实现这一点。 一个在右侧(原件),另一个在左侧(副本)。 问题是 - 我不知道如何创建原始精灵的精确副本,因为绑定的动作具有缩放和混合转换(由于转换,精灵有点失真)。
我想有这样的:
CCSprite *copy = [[jack copy] autorelease];
,这样我可以添加一个精确副本,以显示它放在正确的一边(把它杀了后过渡结束)。 它应该是一个应用了所有转换的位图...是否有可能?
任何想法?
这不是我所要求的 - 谢谢。 问题是原始精灵有很多附加的转换,所以我不能简单地将原始图像复制到另一个位置 - 它被扭曲了许多转换。复制应该有确切的转换应用。 – iostriz 2010-07-31 11:34:14
祝贺kobold2d。工作很好。 – iostriz 2011-09-07 15:17:14
谢谢! (对于不知道Kobold2D是什么的人:http://www.kobold2d.com) – LearnCocos2D 2011-09-14 22:40:16