2011-04-23 45 views
0

我用下面的代碼初始化對象Cocoas2d獲取雪碧通過CGPoint

CCSprite *gridp = [CCSprite spriteWithFile:@"grid.png" 
               rect:CGRectMake(0, 0, 60, 60)]; 
gridp.position = ccp(x, y); 

我的問題是,當我添加對象和函數返回後,我怎麼能刪除精靈?我猜測CGPoint會有一個獲得,但我還沒有找到這樣的事情。我無法存儲對所有對象的引用,因爲遊戲在運行時會產生幾百個這樣的對象。

回答

0

沒有辦法,只是位置得到一個精靈..除非你寫的這樣做,爲此和你需要你的精靈引用的函數...

你必須精靈添加到節點來顯示它們......並且一個節點總是具有對其所有子節點的引用。您可以遍歷子數組以刪除要刪除的節點。

0

此外,如果你指定標籤的雪碧,那麼就可以使用

[自getChildByTag:spriteName]刪除

0

,並刪除您使用[自removeChild之類的精靈:精靈清理:YES];

1

要刪除一個孩子:

首先,你需要指定一個標籤爲你的精靈:

[self addChild:yourSprite z:0 tag:1]; 

[self removeChild:yourSprite cleanup:YES]; 

要按標籤刪除然後,將其刪除:

[self removeChildByTag:1 cleanup:YES]; 

像別人說的,你需要編寫自己的功能,以消除基於它的位置的精靈。

希望這有助於,

~~泰特