我使用以下代码初始化对象
CCSprite *gridp = [CCSprite spriteWithFile:@"grid.png"
rect:CGRectMake(0, 0, 60, 60)];
gridp.position = ccp(x, y);
我的问题是,在我添加对象后,函数返回后,如何删除精灵?我猜测CGPoint会有一个获得,但我没有找到类似的东西。我无法存储对所有对象的引用,因为游戏在运行时会生成几百个这样的对象。
答案 0 :(得分:1)
删除儿童:
[self removeChild:yourSprite cleanup:YES];
按标记删除
首先,您需要为精灵指定一个标记:
[self addChild:yourSprite z:0 tag:1];
然后,删除它:
[self removeChildByTag:1 cleanup:YES];
和其他人说的一样,你需要编写自己的函数,以便根据它的位置删除精灵。
希望这有帮助,
~~泰特
答案 1 :(得分:0)
除非你编写一个能够做到这一点的函数,否则无法通过该位置获得精灵,因此你需要引用你的精灵......
您必须将精灵添加到节点以显示它们......并且节点始终具有对其所有子节点的引用。您可以遍历children数组以删除要删除的节点。
答案 2 :(得分:0)
此外,如果您将标记指定给Sprite,则可以使用
删除它[self getChildByTag:spriteName]
答案 3 :(得分:0)
要删除你使用的精灵[self removeChild:sprite cleanup:YES];