Objective c &引用;结合;将一个C精灵放入一个C标签TF

Objective c &引用;结合;将一个C精灵放入一个C标签TF,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,我有一个游戏商店,玩家可以在里面购买物品。我有一个CCLabelTTF输出物品的价格,旁边有一个CCSprite是硬币(货币)的图像。由于物品的价格随着用户获得更多物品而变化,标签文本开始与标签旁边的硬币重叠。我试图使硬币CCSprite基于标签位置定位。有没有更好的方法来实现这一点,而不是将CCSprite作为一个孩子添加到CCLabelTTF?例如在CCLabelTTF中包含CCSprite 现在我有这个: coinIcon = [CCSprite spriteWithImageNamed:

我有一个游戏商店,玩家可以在里面购买物品。我有一个
CCLabelTTF
输出物品的价格,旁边有一个
CCSprite
是硬币(货币)的图像。由于物品的价格随着用户获得更多物品而变化,标签文本开始与标签旁边的硬币重叠。我试图使硬币
CCSprite
基于标签位置定位。有没有更好的方法来实现这一点,而不是将CCSprite作为一个孩子添加到CCLabelTTF?例如在
CCLabelTTF
中包含
CCSprite

现在我有这个:

coinIcon = [CCSprite spriteWithImageNamed:@"coin.png"];
[coinIcon setScale:0.3];
priceLabel.string = [NSString stringWithFormat:@"%.Lf", price];
[priceLabel addChild:coinIcon];

我还试图设置positioninpoints,但每当我设置一个position
coin
时,屏幕上就不再出现。这是我使用这种方法遇到的主要问题。不设置位置也可以,但我需要硬币位于
pricelab
的左侧。当我尝试设置位置并运行应用程序时,它不会显示在屏幕上。有什么想法吗?

使用CCNode作为容器,如下所示:

// CCSprite and CCLabelTTF are by default anchored (.5,.5)
// so make label same height as coin and it will line dead-center
// to the coin's vertical apex

float offsetInPoints = 8.f;
float labelWidthInPoints = 80.f;
CCNode* priceNode = [CCNode node];
coinIcon = [CCSprite spriteWithImageNamed:@"coin.png"];
[coinIcon setScale:0.3];
priceLabel.string = [NSString stringWithFormat:@"%.Lf", price];
priceLabel.horizontalAlignment=CCTextAlignmentLeft;
priceLabel.dimensions=CGSizeMake(labelWidthInPoints,coinIcon.contentSizeInPoints.height);
[priceNode addChild:coinIcon];
[priceNode addChild:priceLabel];
priceLabel.positionInPoints = ccpAdd(coinIcon.positionInPoints, 
   ccp(coinIcon.contentSizeInPoints.width+offsetInPoints,coinIcon.position.y));
这将把价格标签放置在硬币右边的一个恒定的偏移点上,不管最终的价格是多少


未测试,根据记忆编码

Thankyou@YvesLeBorg,用于校准CCLabelTTF尖端上的相同高度