欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Cocos2d-x UI開(kāi)發(fā)之文本類(lèi)使用實(shí)例

 更新時(shí)間:2014年09月11日 09:46:32   作者:皂莢花  
這篇文章主要介紹了Cocos2d-x學(xué)習(xí)筆記之文本類(lèi),文本類(lèi)是UI開(kāi)發(fā)中經(jīng)常使用的,本文用詳細(xì)的代碼注釋講解了文本類(lèi)的使用,需要的朋友可以參考下

cocos2d-x中有三個(gè)文本類(lèi),用來(lái)在屏幕上顯示文字,這三個(gè)類(lèi)分別是CCLabelTTF、CCLabelBMFont、CCLabelAtlas。這三個(gè)類(lèi)都繼承自抽象類(lèi)CCLabelProtocol,所以具有了setString()改變文本信息的方法和getString()獲得文本信息的方法。

bool HelloWorld::init()
{
 bool bRet = false;
 do
 {

  CC_BREAK_IF(! CCLayer::init());

		CCSize size = CCSizeMake(CCDirector::sharedDirector()->getWinSize().width/3,320);
		//1、CCLabelTTF的定義如下,第一個(gè)是要顯示的文字,第二個(gè)是字體,第三個(gè)是字體的大小,第四個(gè)是文字標(biāo)簽的尺寸
		//文字標(biāo)簽太小就不能完全的顯示字體,太大就浪費(fèi)了空間,第五個(gè)是水平對(duì)齊方式,第六個(gè)是垂直對(duì)齊方式
		/*static CCLabelTTF * 	create (const char *string, const char *fontName, float fontSize,
		const CCSize &dimensions, CCTextAlignment hAlignment, CCVerticalTextAlignment vAlignment)*/
		//2、CCTextAlignment的值可以是:kCCTextAlignmentLeft 	kCCTextAlignmentCenter 	kCCTextAlignmentRight
		//3、CCVerticalTextAlignment的值可以是:kCCVerticalTextAlignmentTop 	kCCVerticalTextAlignmentCenter 	kCCVerticalTextAlignmentBottom
		//4、一般情況下后三個(gè)參數(shù)是不用的,只需要記住前三個(gè)就ok了
		//5、CCLabelTTF繼承自CCSprite(就是一張繪制著文字的紋理圖片),所以精靈具有的所有功能CCLabelTTF都可以有,包括旋轉(zhuǎn),縮放什么的
		//6、這三個(gè)字體標(biāo)簽都可以通過(guò)setString()來(lái)改變標(biāo)簽中的內(nèi)容,但是CCLabelTTF一改變標(biāo)簽中的內(nèi)容就會(huì)重新繪制,浪費(fèi)了時(shí)間和空間,所以在創(chuàng)建了文字就不改變內(nèi)容的前提下我們使用它
		CCLabelTTF * ttf = CCLabelTTF::create("Hello Cocos2d-x","Arial",32,size,kCCTextAlignmentLeft,kCCVerticalTextAlignmentTop);
		//CCPoint()和ccp(),CCPointMake()的用法一樣,功能相同。
		ttf->setPosition(CCPoint(240,160));
		this->addChild(ttf);

		/*首先拷貝E:\cocos2d-x-2.2\cocos2d-x-2.2\samples\Cpp\TestCpp\Resources下的文件fps_images.png到自己
		項(xiàng)目的resource目錄下,打開(kāi)這個(gè).png文件看到的是. / 0 1 2 3 4 5 6 7 8 9這些字體就是我們要顯示的字體*/
		//解釋一下CCLabelAtlas各個(gè)參數(shù)的含義
		//第一個(gè)參數(shù)是我們要顯示的內(nèi)容,這個(gè)內(nèi)容必須包含在我們剛才打開(kāi)的那張圖片中,第二個(gè)參數(shù)就是資源的名稱(chēng)了
		//第三個(gè)參數(shù)是該資源中每個(gè)字體的大小,即寬度和高度,最后一個(gè)參數(shù)是這些字體的起始字符
		//解釋一下它的顯示原理,我們要顯示的是2014/2/10,于是程序找到了資源文件fps_images.png,定位到起始字符
		//然后根據(jù)2的assic碼,和起始字符的assic碼相減找到偏移的位置,然后根據(jù)寬度和高度取出2,
		//所以資源中的字體的assic碼必須是連續(xù)的
		//CCLabelAtlas一般使用在顯示經(jīng)常變化的數(shù)字的時(shí)候比較快,效率高,就像我們顯示的那個(gè)幀率,就是用的CCLabelAtlas
		CCLabelAtlas * atlas = CCLabelAtlas::create("2014/2/10","fps_images.png",12,32,'.');
		atlas->setPosition(CCPointMake(70,100));
		this->addChild(atlas);
		//不斷setString()也只需渲染一次,實(shí)現(xiàn)秒表功能的時(shí)候經(jīng)常用到
		atlas->setString("2014/2/11");

		//CCLabelBMFont需要我們使用到資源文件,這些資源文件包含了我們要使用的文字,網(wǎng)上有專(zhuān)門(mén)的工具可以制作這些
		//我們需要名稱(chēng)相同的倆個(gè)文件,一個(gè)以.fnt結(jié)尾,就是我們的第二個(gè)參數(shù),一個(gè)以.png結(jié)尾
		//拷貝E:\cocos2d-x-2.2\cocos2d-x-2.2\samples\Cpp\TestCpp\Resources\fonts到我們的resource文件夾
		//第一個(gè)參數(shù)就是我們要顯示的內(nèi)容,這個(gè)內(nèi)容在那個(gè)文件中必須得有,但是中文字體不知道怎么回事,不能顯示,留下以后研究吧
		//這個(gè)文本類(lèi)主要是來(lái)豐富我們的字體的,可以利用工具做一些好看的字體顯示在屏幕上
		//2014里邊的每個(gè)字體可以看做是單獨(dú)的一個(gè)精靈,可以通過(guò)getChildByTag()方法獲取
		CCLabelBMFont * font = CCLabelBMFont::create("2014","bitmapFontChinese.fnt");
		font->setPosition(ccp(160,160));
		this->addChild(font);

  bRet = true;
 } while (0);

 return bRet;
}

相關(guān)文章

  • VC編程控件類(lèi)HTControl之CHTGDIManager GDI資源管理類(lèi)用法解析

    VC編程控件類(lèi)HTControl之CHTGDIManager GDI資源管理類(lèi)用法解析

    這篇文章主要介紹了VC編程控件類(lèi)HTControl之CHTGDIManager GDI資源管理類(lèi)用法解析,需要的朋友可以參考下
    2014-08-08
  • C++缺省參數(shù)的理解

    C++缺省參數(shù)的理解

    這篇文章主要為大家介紹了C++缺省參數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • 面向?qū)ο笕筇匦缘囊饬x講解

    面向?qū)ο笕筇匦缘囊饬x講解

    今天小編就為大家分享一篇關(guān)于面向?qū)ο笕筇匦缘囊饬x講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • C/C++可變參數(shù)的使用

    C/C++可變參數(shù)的使用

    可變參數(shù)的使用方法遠(yuǎn)遠(yuǎn)不止以下幾種,不過(guò)在C,C++中使用可變參數(shù)時(shí)要小心,在使用printf()等函數(shù)時(shí)傳入的參數(shù)個(gè)數(shù)一定不能比前面的格式化字符串中的’%’符號(hào)個(gè)數(shù)少,否則會(huì)產(chǎn)生訪問(wèn)越界,運(yùn)氣不好的話還會(huì)導(dǎo)致程序崩潰
    2013-09-09
  • C++中求組合數(shù)的各種方法總結(jié)詳解

    C++中求組合數(shù)的各種方法總結(jié)詳解

    本篇文章是對(duì)C++中的求組合數(shù)的各種方法進(jìn)行了詳細(xì)的介紹。需要的朋友參考下
    2013-05-05
  • 關(guān)于C/C++中可變參數(shù)的詳細(xì)介紹(va_list,va_start,va_arg,va_end)

    關(guān)于C/C++中可變參數(shù)的詳細(xì)介紹(va_list,va_start,va_arg,va_end)

    可變參數(shù)的函數(shù)原理其實(shí)很簡(jiǎn)單,而va系列是以宏定義來(lái)定義的,實(shí)現(xiàn)跟堆棧相關(guān).我們寫(xiě)一個(gè)可變函數(shù)的C函數(shù)時(shí),有利也有弊,所以在不必要的場(chǎng)合,我們無(wú)需用到可變參數(shù)。如果在C++里,我們應(yīng)該利用C++的多態(tài)性來(lái)實(shí)現(xiàn)可變參數(shù)的功能,盡量避免用C語(yǔ)言的方式來(lái)實(shí)現(xiàn)
    2013-10-10
  • C++實(shí)現(xiàn)LeetCode(112.二叉樹(shù)的路徑和)

    C++實(shí)現(xiàn)LeetCode(112.二叉樹(shù)的路徑和)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(112.二叉樹(shù)的路徑和),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++編譯原理之求解First集合

    C++編譯原理之求解First集合

    這篇文章主要介紹的是C++/編譯原理求解First集合,本文將圍繞該話題詳細(xì)展開(kāi)全文,需要的小伙伴可以參考一下
    2021-10-10
  • C++中I/O模型之select模型實(shí)例

    C++中I/O模型之select模型實(shí)例

    這篇文章主要介紹了C++中I/O模型的select模型,實(shí)例講述了I/O模型的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C++編程中new運(yùn)算符的使用學(xué)習(xí)教程

    C++編程中new運(yùn)算符的使用學(xué)習(xí)教程

    這篇文章主要介紹了C++編程中new運(yùn)算符的使用學(xué)習(xí)教程,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-01-01

最新評(píng)論