当我们在游戏中添加文字时,比如分数,金钱之类的,就需要用到CCLabelTTF或CCLabelBMFont了
CCLabelTTF只支持系统的字体,或者你自行添加的ttf字体,用法:
CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64];
CCLabelBMFont是CCSpriteBatchNode的子类,可以理解为一个font atlas,用法
CCLabelBMFont *gameBeginLabel = [CCLabelBMFont labelWithString:@"Game Start" fntFile:@"SpaceVikingFont.fnt"];
因为CCLabelTTF和CCLabelBMFont都是CCNode的子类,所以他们也可以通过runAction:做一些动画效果:
[gameBeginLabel setPosition:ccp(screenSize.width/2,screenSize.height/2)]; // 2
[self addChild:gameBeginLabel]; // 3
id labelAction = [CCSpawn actions:
[CCScaleBy actionWithDuration:2.0f scale:4],
[CCFadeOut actionWithDuration:2.0f],
nil]; // 4
[gameBeginLabel runAction:labelAction];
另外,他们还有anchor point的概念:
[gameBeginLabel setAnchorPoint: ccp(0.5f, 0.5f)];//默认
锚点范围为(0,0)到(1,1)之间,默认是(0.5,0.5),对象在变化的时候会以锚点为基准进行,如果锚点设为(0,0),那么上面放大的动画会朝向右上的位置进行放大