最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Cocos2d-x UI開發(fā)之文本類使用實例

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

cocos2d-x中有三個文本類,用來在屏幕上顯示文字,這三個類分別是CCLabelTTF、CCLabelBMFont、CCLabelAtlas。這三個類都繼承自抽象類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的定義如下,第一個是要顯示的文字,第二個是字體,第三個是字體的大小,第四個是文字標簽的尺寸
		//文字標簽太小就不能完全的顯示字體,太大就浪費了空間,第五個是水平對齊方式,第六個是垂直對齊方式
		/*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、一般情況下后三個參數(shù)是不用的,只需要記住前三個就ok了
		//5、CCLabelTTF繼承自CCSprite(就是一張繪制著文字的紋理圖片),所以精靈具有的所有功能CCLabelTTF都可以有,包括旋轉(zhuǎn),縮放什么的
		//6、這三個字體標簽都可以通過setString()來改變標簽中的內(nèi)容,但是CCLabelTTF一改變標簽中的內(nèi)容就會重新繪制,浪費了時間和空間,所以在創(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到自己
		項目的resource目錄下,打開這個.png文件看到的是. / 0 1 2 3 4 5 6 7 8 9這些字體就是我們要顯示的字體*/
		//解釋一下CCLabelAtlas各個參數(shù)的含義
		//第一個參數(shù)是我們要顯示的內(nèi)容,這個內(nèi)容必須包含在我們剛才打開的那張圖片中,第二個參數(shù)就是資源的名稱了
		//第三個參數(shù)是該資源中每個字體的大小,即寬度和高度,最后一個參數(shù)是這些字體的起始字符
		//解釋一下它的顯示原理,我們要顯示的是2014/2/10,于是程序找到了資源文件fps_images.png,定位到起始字符
		//然后根據(jù)2的assic碼,和起始字符的assic碼相減找到偏移的位置,然后根據(jù)寬度和高度取出2,
		//所以資源中的字體的assic碼必須是連續(xù)的
		//CCLabelAtlas一般使用在顯示經(jīng)常變化的數(shù)字的時候比較快,效率高,就像我們顯示的那個幀率,就是用的CCLabelAtlas
		CCLabelAtlas * atlas = CCLabelAtlas::create("2014/2/10","fps_images.png",12,32,'.');
		atlas->setPosition(CCPointMake(70,100));
		this->addChild(atlas);
		//不斷setString()也只需渲染一次,實現(xiàn)秒表功能的時候經(jīng)常用到
		atlas->setString("2014/2/11");

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

  bRet = true;
 } while (0);

 return bRet;
}

相關(guān)文章

  • VS2019調(diào)試C語言程序(監(jiān)視操作)的詳細步驟

    VS2019調(diào)試C語言程序(監(jiān)視操作)的詳細步驟

    在很多時候我們在寫程序的過程中會發(fā)現(xiàn)一些非編程錯誤的問題,這樣的問題很難直接分辨出來,但是我們可以用調(diào)試了一步一步的模擬程序運行的過程,來找出程序的錯誤,下面這篇文章主要給大家介紹了關(guān)于VS2019調(diào)試C語言程序(監(jiān)視操作)的詳細步驟,需要的朋友可以參考下
    2022-11-11
  • C++開放封閉原則示例解析

    C++開放封閉原則示例解析

    在如那就的設(shè)計模式中,不能修改,但可以擴展的實現(xiàn)是一條十分重要的原則,它是開放-封閉原則(The Open-Clossed Principle,簡稱OCP)或開-關(guān)閉原則
    2023-02-02
  • 詳解QT使用http通信的同步和異步

    詳解QT使用http通信的同步和異步

    在Qt與Http通信的時候,會根據(jù)不同的情況使用同步或者異步的方式進行數(shù)據(jù)請求,下面我們就來深入了解一下http通信的同步和異步的相關(guān)知識,感興趣的小伙伴可以了解下
    2023-12-12
  • 深入內(nèi)存對齊的詳解

    深入內(nèi)存對齊的詳解

    本篇文章是對內(nèi)存對齊進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言判定一棵二叉樹是否為二叉搜索樹的方法分析

    C語言判定一棵二叉樹是否為二叉搜索樹的方法分析

    這篇文章主要介紹了C語言判定一棵二叉樹是否為二叉搜索樹的方法,結(jié)合實例形式綜合對比分析了C語言針對二叉搜索樹判定的原理、算法、效率及相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • c/c++中struct定義、聲明、對齊方式解析

    c/c++中struct定義、聲明、對齊方式解析

    這篇文章通過C/C++的兩種聲明方式開始,給大家詳細分析了/c+中struct定義、聲明、對齊方式,對此有興趣的朋友可以參考學習下。
    2018-03-03
  • C語言中qsort函數(shù)用法實例小結(jié)

    C語言中qsort函數(shù)用法實例小結(jié)

    這篇文章主要介紹了C語言中qsort函數(shù)用法,包括了針對各種數(shù)據(jù)類型參數(shù)的排序,非常具有實用價值,需要的朋友可以參考下
    2014-09-09
  • vscode ssh遠程連接服務(wù)器一直卡在下載 vscode server問題解決

    vscode ssh遠程連接服務(wù)器一直卡在下載 vscode server問題解決

    在使用vscode使用ssh遠程連接服務(wù)器時,一直卡在下載"vscode 服務(wù)器"階段,本文主要介紹了vscode ssh遠程連接服務(wù)器一直卡在下載 vscode server問題解決,感興趣的可以了解一下
    2025-01-01
  • Qt服務(wù)應用操作之JSON文件操作方法

    Qt服務(wù)應用操作之JSON文件操作方法

    在Qt框架中,處理JSON數(shù)據(jù)包括解析、生成、保存和讀取文件等操作,本文詳細介紹了這些操作的關(guān)鍵類和方法,如QJsonDocument、QJsonObject、QJsonArray等,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • 詳解c/c++賦值函數(shù)(重載=號運算符)

    詳解c/c++賦值函數(shù)(重載=號運算符)

    大家都知道c++里的各種運算符都是用函數(shù)實現(xiàn)的,比如=就等號函數(shù),所以當用=給一個對象賦值的時候,實際調(diào)用的是=號所對應的=號函數(shù)。下面通過本文給大家介紹c/c++賦值函數(shù)(重載=號運算符),感興趣的朋友一起看看吧
    2018-08-08

最新評論

丁青县| 师宗县| 康马县| 龙山县| 喜德县| 东乌珠穆沁旗| 绍兴县| 永登县| 望江县| 锦州市| 临夏县| 海南省| 宁明县| 克什克腾旗| 丰城市| 岳普湖县| 福安市| 巨鹿县| 兴化市| 宜宾市| 荥经县| 伽师县| 嘉祥县| 文山县| 休宁县| 华池县| 启东市| 长子县| 涟源市| 历史| 华池县| 广水市| 赞皇县| 若羌县| 永德县| 南安市| 澜沧| 广丰县| 卓资县| 田阳县| 休宁县|