1
我想在我的iPhone遊戲中創建一個很酷的分數計數器,我在Photoshop中創建數字0到9,並且我想每秒更新分數。重用Cocos2d CocosNodes
我現在正在做的是以下幾點:
在我初始化我所有的數字精靈加載到一個數組,所以數組有10個項目。
我創建了一個方法,將當前得分(例如2000)分解爲單個數字並從數組中獲取精靈,然後將它們添加到父CocosNode *對象中。
每一秒我都會通過它的標記獲取父CocosNode,並用新的父對象替換它。
目前我已經遇到了這個問題,因爲得分2000使用三位0位,我不能重新使用精靈。
- (CocosNode*) createScoreString:(int) score
{
NSLog(@"Creating score string : %d", score);
NSString* scoreString = [NSString stringWithFormat:@"%d", score];
int xAxes = 0;
CocosNode* parentNode = [[Sprite alloc] init];
for (NSInteger index = 0; index < [scoreString length]; index++)
{
NSRange range;
range.length = 1;
range.location = index;
NSString* digit = [scoreString substringWithRange:range];
Sprite* digitSpriteOriginal = [self.digitArray objectAtIndex:[digit intValue]];
Sprite* digitSprite = [digitSpriteOriginal copy];
[digitSprite setPosition:cpv(xAxes, 0)];
xAxes += [digitSprite contentSize].width - 10;
[parentNode addChild:digitSprite];
}
return parentNode;
}
我在cocos2d內處理這個問題還是有一些標準的功能嗎?另外,如果這是正確的,我怎樣才能'重用'精靈?
非常感謝!經過一番搜索,我遇到了這個解決方案。我甚至修改了LabelAtlas類來支持字符的填充。稍後我會提供補丁。 – 2009-04-12 17:35:40