Home > Database > Mysql Tutorial > cocos2dx添加文本的三种方法及适用情况CCLabelTTF,CCLabelBMFon

cocos2dx添加文本的三种方法及适用情况CCLabelTTF,CCLabelBMFon

WBOY
Release: 2016-06-07 15:01:07
Original
1930 people have browsed it

1、CCLabelTTF CCLabelTTF适合于一次性创建文本后基本上不再改变其显示信息的情况。 因为CCLabelTTF可以使用setString()函数改变文字内容,而这个时候会创建一个新的opengl纹理,需要重新渲染,就跟重新创建一个新的CCLabelTTF差不多。例子如下: CCLabelTTF

1、CCLabelTTF

CCLabelTTF适合于一次性创建文本后基本上不再改变其显示信息的情况。因为CCLabelTTF可以使用setString()函数改变文字内容,而这个时候会创建一个新的opengl纹理,需要重新渲染,就跟重新创建一个新的CCLabelTTF差不多。例子如下:

CCLabelTTF* pLabel = CCLabelTTF::create("Neuq", "Arial", 30);//要显示的内容,字体,字号   
//这里也可以使用下面方法改变要显示的内容   
pLabel->setString("NEUQ");  
pLabel->setPosition(ccp(100, 100));  
this->addChild(pLabel, 1); 
Copy after login

2、CCLabelAtlas

CCLabelBMFont适合于需要频繁更新的文本内容或者显示好看华丽的文字内容。CCLabelBMFont是使用图片文件显示文本内容,相当于每次只是改变了图片的坐标,CCLabelBMFont中每个字符都是一个精灵,可以单独获取运行动作。使用这个类的时候,一定要有一个图片文字文件(格式是png)和一个文字坐标文件(格式是fnt)如下例子:

	CCLabelAtlas* labelatlas = CCLabelAtlas::create("2014.06.15","a.png",12,32,46);
	labelatlas->setPosition (ccp(300,100));
	this->addChild(labelatlas,1);
	labelatlas->setScale(2.0f);
Copy after login
运行上述代码结果如下图所示:

cocos2dx添加文本的三种方法及适用情况CCLabelTTF,CCLabelBMFon

        CCLabelAtlas类还可以使用plist文件定义:如下代码:

        CCLabelAtlas* labelatlasplist = CCLabelAtlas::create("2014.06.15", "font.plist");  
	labelatlasplist->setPosition(ccp(300, 100));  
	addChild(labelatlasplist,1);  
	labelatlasplist->setScale(2.0f);
Copy after login

2、CCLabelBMFont

CCLabelBMFont适合于需要频繁更新的文本内容或者显示好看华丽的文字内容。CCLabelBMFont是使用图片文件显示文本内容,相当于每次只是改变了图片的坐标,CCLabelBMFont中每个字符都是一个精灵,可以单独获取运行动作。使用这个类的时候,一定要有一个图片文字文件(格式是png)和一个文字坐标文件(格式是fnt),如下代码:

       //要显示的内容,字符坐标文件   
CCLabelBMFont* labelFont = CCLabelBMFont::create("baibai", "bitmapFontTest.fnt");  
labelFont->setPosition(ccp(winSize.width/2, winSize.height/2));  
addChild(labelFont);  
//CCLabelBMFont中每个字符都是一个精灵,可以用getChildByTag方法获取其中的一个字符作为精灵操作   
CCSprite* sprite = (CCSprite*)labelFont->getChildByTag(3);  
sprite->runAction(CCJumpBy::create(2.0f, ccp(0,0), 40, 5)); 
Copy after login






source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template