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

最佳答案

您无法添加已添加的精灵,在最后一行添加相同的第一个孩子。

但是如果更改不起作用,则可以使用相同的信息创建另一个精灵(我认为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.

10-04 23:46