gpt4 book ai didi

iphone - 重用Cocos2d CocosNodes

转载 作者:行者123 更新时间:2023-12-03 17:08:43 24 4
gpt4 key购买 nike

我正在尝试在我的 iPhone 游戏中创建一个很酷的得分计数器,我在 Photoshop 中创建了数字 0 到 9,并且我想每秒更新一次得分。

我现在正在做的事情如下:

  • 在我的 init 中,我将所有数字 Sprite 加载到一个数组中,以便该数组有 10 个项目。

  • 我创建了一个方法,它将当前分数(例如 2000)分解为个位数,并从数组中获取 Sprite ,然后将它们添加到父 CocosNode* 对象中。

  • 每秒我都会通过其标签获取父 CocosNode 并将其替换为新的父对象。

目前我已经遇到了这方面的问题,因为分数 2000 使用了 0 数字 3 次,并且我无法重新使用 Sprite 。

- (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 中以正确的方式处理这个问题,或者是否有一些标准功能?另外,如果这是正确的,我如何“重用” Sprite ?

最佳答案

我相信您想使用LabelAtlas class ,您只需提供兼容的位图(例如 fps 计数器使用的位图)。

关于iphone - 重用Cocos2d CocosNodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/741327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com