2011-01-31 53 views
1

我正在開發一款遊戲。有些球從屏幕的頂部落下,玩家必須抓住它們,因爲它們被抓到彼此堆疊在一起。我有一種方法可以創建每個新球並將其添加到我用來移動精靈的陣列中。問題是,他們碰撞後,我需要他們停止移動,因爲數組被調用來移動他們都移動。如果我試圖讓他們停下來,他們都會停下來。所以我希望創建一個指針屬性,如果ther是這樣想的,例如「sprite.position」我需要一個新的屬性,我可以像布爾值一樣檢查。我希望創建一個像sprite.hasCollided這樣的屬性,如果它返回YES,那麼球就不應該移動。這是可能的還是有更好的方法來做到這一點?在cocos2d中創建指針屬性iPhone

感謝 坦納

回答

0

CCNodes(和通過繼承,CCSprites)有一個userData屬性,它是一個void *。您可以使用它將自定義對象關聯到cocos2d對象。請記住,如果您使用userData選項,則在大多數情況下,您在創建/分配精靈時需要分配任何內存,並在完成後釋放它。

int* myInt = (int*)malloc(sizeof(int)); 
*myInt = 0; 
sprite.userData = myInt; 

//some time later, when you are done with the sprite 
free(sprite.userData); 

由於對用戶數據性的提高,你可以做xuanweng暗示什麼,並創建包含球各種遊戲相關特性的球對象,並在此實例分配給每個使用你的球CCSprites的方法。

1

我建議你創建一個球對象。並添加布爾作爲對象的一部分。