Cocos2d:孩子已经添加,添加了2个没有深拷贝的类似孩子

时间:2013-04-26 01:37:18

标签: ios objective-c cocos2d-iphone deep-copy

Cocos2d不允许添加两个类似的对象作为self的子级是否有另一种方法可以添加重复而不在我的DigBackground类中实现深层复制?并做(DigBackground *)[idObject copy];

顺便说一句!这种反对双胞胎的种族主义不是吗?

DigBackground *bgImage = (DigBackground *)idObject;
[self addChild:bgImage z:iterator tag:iterator];

                // Add duplicate sprite
DigBackground *bgImage2 = (DigBackground *)idObject;
[self addChild:bgImage z:iterator tag:iterator]; // Not allowed - duplicate child

1 个答案:

答案 0 :(得分:1)

你不能添加已添加的精灵,在最后一行添加相同的第一个孩子。

但是如果更改它不起作用,你可以创建另一个具有相同信息的精灵(我猜DigBackground是一个CCSprite):

DigBackground *bgImage = (DigBackground *)idObject;
[self addChild:bgImage z:iterator tag:iterator];

// Add duplicate sprite
DigBackground *bgImage2 = [DigBackground spriteWithTexture:[bgImage texture] rect:[bgImage boundingBox]];
[self addChild:bgImage2 z:iterator tag:iterator+1]; //the tag should be unique.