欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

瘋狂ios之cocos2d中的文本-創(chuàng)新互聯(lián)

在游戲當(dāng)中經(jīng)常需要添加標簽和文本對此cocos2d提供了強大的文本渲染功能。cocos2d支持所有內(nèi)置的iOS字體以及一些TrueType字體。

為涼山州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及涼山州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、涼山州網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

在cocos2d中文本渲染功能通常由兩個類實現(xiàn)CCLabelTTF和CCLabelBMFont。下面我們來詳細說明這兩個類在實際項目當(dāng)中如何使用。

13.12.1CCLabelTTF類

CCLabelTTF類繼承自CCSprite因為其渲染速度相對較慢所以通常用于顯示一些靜態(tài)的標簽和純文本。CCLabelTTF類的常用方法如下。

+(id)labelWithString:(NSString*)string fontName:(NSString*)name fontSize:(CGFloat)size該方法根據(jù)字體名稱和字體大小初始化一個新的標簽對象CCLabelTTF對象將使用CCTexture2D類從文本創(chuàng)建一個紋理圖。

-(id)initWithString:(NSString*)string fontName:(NSString*)name fontSize:(CGFloat)size該方法根據(jù)字體名稱和字體大小初始化一個新的標簽對象CCLabelTTF對象將使用CCTexture2D類從文本創(chuàng)建一個紋理圖。該方法與前一個方法功能大致相似只不過該方法是實例方法需要用CCLabelTTF對象調(diào)用。

-(void) setString:(NSString*)str該方法設(shè)置CCLabelTTF對象的文本內(nèi)容。

接下來我們通過示例演示在項目中如何使用CCLabelTTF類。實現(xiàn)代碼如下。

程序清單codes/13/13.12/LabelTTFTest/LabelTTFTest/HelloWorldLayer.m

-(id) init

{

if( (self=[super init]) ) {

CGSize winSize = [[CCDirector sharedDirector] winSize];

// 使用特定的文本內(nèi)容、字體名稱和字體大小3個參數(shù)創(chuàng)建并初始化一個新的標簽對象

CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World"

fontName:@"Marker Felt" fontSize:64];

label.position = ccp(winSize.width/2,winSize.height/2);

[self addChild:label];

// iOS支持的所有字體

NSArray *fontFamilyNames = [UIFont familyNames];

for (NSString *familyName in fontFamilyNames) {

NSArray *names = [UIFont fontNamesForFamilyName:familyName];

CCLOG(@"%@ = %@",familyName,names);

}

}

return self;

}

單擊“Run”按鈕執(zhí)行LabelTTFTest項目模擬器屏幕正中顯示HelloWorld標簽控制臺輸出如圖13.50所示。

瘋狂ios之cocos2d中的文本

上面代碼首先使用特定的文本內(nèi)容、字體名稱和字體大小3個參數(shù)創(chuàng)建并初始化了一個新的標簽對象然后設(shè)置了標簽在屏幕中的位置并添加為當(dāng)前層的子節(jié)點最后從UIFont類中查詢出iOS中的所有可用字體并打印在控制臺中。

13.12.2CCLabelBMFont類

使用CCLabelTTF類顯示靜態(tài)的標簽文本很方便但是渲染速度相對較慢并且缺乏靈活性為此cocos2d提供了CCLabelAtlas類和CCLabelBMFont類來替代CCLabelTTF類。由于CCLabelAtlas類相對于CCLabelBMFont類來說過于復(fù)雜所以在實際開發(fā)中通常建議使用CCLabelBMFont類。CCLabelBMFont類和CCLabelTTF類的區(qū)別如下。

CCLabelBMFont類的渲染速度要比CCLabelTTF類快很多。

CCLabelBMFont類來自于圖片文件并且有很多第三方編輯器支持非常靈活。

CCLabelBMFont類支持不同寬度的字符。

所以如果在項目開發(fā)中只是需要使用標準的iOS字體并且不需要經(jīng)常修改標簽的文本內(nèi)容那么使用CCLabelTTF類就可以滿足。但有些時候如果需要使用定制的字體而且需要每一幀都更改文本的內(nèi)容這時就建議使用CCLabelBMFont類。

CCLabelBMFont類繼承自CCSpriteBatchNode并實現(xiàn)了CCLabelProtocol和CCRGBAProtocol兩個協(xié)議。因為繼承自CCSpriteBatchNode所以文本中的每一個字符會被作為一個獨立的CCSprite精靈對象看待每個字符的大小、著色、透明度和旋轉(zhuǎn)角度等屬性都可以被修改。CCLabelBMFont類還可以被當(dāng)作菜單項的一部分。CCLabelBMFont類有如下兩個特有的屬性。

opacity透明度變量類型是Glubyte。

color顏色變量類型是ccColor3B使用RGB數(shù)值表示的色彩。

那么CCLabelBMFont類如何使用呢因為CCLabelBMFont類繼承自CCSpriteBatchNode并且來自于圖片文件所以其實它的作用就相當(dāng)于精靈表單而其中的每一個字符則相當(dāng)于精靈表單中的單個精靈對象。字符是以圖片形式存儲的因此必須使用字體圖集。字體圖集其實就是一張大的圖片其中包含了所有要顯示的字符以及描述字符在字體圖集中位置的坐標數(shù)據(jù)字體圖集可以理解成前面學(xué)習(xí)過的精靈表單。當(dāng)字符是以圖片形式存儲時也無法直接修改它的大小如果在游戲當(dāng)中需要使用多種大小不同的字符我們必須為每一種大小創(chuàng)建一個單獨的字體圖集。

cocos2d中使用FNT文件保存位圖字體cocos2d本身并沒有提供創(chuàng)建字體圖集的工具但是有很多第三方工具可以創(chuàng)建字體圖集。cocos2d官方推薦以下幾種創(chuàng)建字體圖集的工具。

qGlyph Designer該軟件為收費的商業(yè)軟件下載地址為http://glyphdesigner. 71squared.com。

qSlick2D Hiero Bitmap Font Generator該軟件為Java開發(fā)的免費軟件下載地址為http://slick.cokeandcode.com/demos/hiero.jnlp。

qHiero該軟件為Java開發(fā)的免費軟件使用簡單下載地址為http://www.n4te.com/ hiero/hiero.jnlp。

本書使用Hiero軟件創(chuàng)建字體圖集它的作用類似于前面創(chuàng)建紋理圖集的Zwoptex。

1. 下載Hiero工具

打開瀏覽器在地址欄輸入http://www.n4te.com/hiero/hiero.jnlp下載Hiero工具。

瘋狂ios之cocos2d中的文本

打開Hiero后主界面顯示如圖13.51所示。

瘋狂ios之cocos2d中的文本

2. 創(chuàng)建字體圖集

在主界面左上方“Font”字體列表框中選擇字體如“Arial Rounded MT Bold”。選擇后上方中間位置的“Sample Text”列表框中會顯示相對應(yīng)的字體樣本。

在上方右側(cè)的“Effects”列表框中可以設(shè)置顏色、輪廓、陰影等。

在下方的“Rendering”區(qū)域切換到“Glyph cache”將“Page width”和“Page height”設(shè)置為256使用最小的2的次方的圖像包含所有需要的文本字符。Hiero將創(chuàng)建一個256*256的字體圖集如圖13.52所示。

瘋狂ios之cocos2d中的文本

單擊左上角的“File”選擇“Save BMFont files”將文件命名為“my.fnt”。Hiero將同時創(chuàng)建一個FNT文件和一個PNG文件FNT文件就類似于使用Zwoptex創(chuàng)建的plist文件。

以上就是使用制作字體圖集的具體方法。接下來將演示如何使用CCLabelBMFont類在游戲開發(fā)中使用字體圖集。

3. 字體圖集示例

首先創(chuàng)建一個LabelBMFontTest項目選擇“Resources”組并單擊右鍵選擇“Add Files to‘LabelBMFontTest’”將剛才生成的my.fnt和my.png添加到Resoures組當(dāng)中。接下來在init方法里面添加一段代碼使用LabelBMFontTest操作字體圖集。實現(xiàn)代碼如下。

程序清單codes/13/13.12/LabelBMFontTest/LabelBMFontTest/HelloWorldLayer.m

-(id) init

{

if( (self=[super init]) ) {

CGSize winSize = [[CCDirector sharedDirector] winSize];

// 創(chuàng)建一個標簽使用my.fnt字體圖集

CCLabelBMFont *label = [CCLabelBMFont

labelWithString:@"Hello BMFont" fntFile:@"my.fnt"];

label.position = ccp(winSize.width/2,winSize.height/2);

[self addChild:label];

// CCScaleBy動作2秒后放大2倍

id scaleBy = [CCScaleBy actionWithDuration:2.0f scale:2];

[label runAction:scaleBy];

}

return self;

}

單擊“Run”按鈕執(zhí)行LabelBMFontTest項目模擬器顯示如圖13.53所示。

瘋狂ios之cocos2d中的文本

上面代碼首先用CCLabelBMFont的類方法創(chuàng)建了一個標簽并使用了剛剛在Hiero中生成的my.fnt字體圖集然后將標簽設(shè)置在屏幕正中。接下來讓標簽執(zhí)行一個動作2秒之后放大到原來的2倍。通過觀察發(fā)現(xiàn)標簽放大后字體邊緣會出現(xiàn)鋸齒為什么會出現(xiàn)這種現(xiàn)象呢因為CCLabelBMFont是紋理圖紋理圖類似于位圖位圖在放大時會出現(xiàn)模糊或者失真現(xiàn)象。所以在開發(fā)中使用CCLabelBMFont時不要把縮放比例設(shè)置得過大如果字體標簽需要縮放對于不同大小的字符需要設(shè)置不同的字體圖集。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標題:瘋狂ios之cocos2d中的文本-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://aaarwkj.com/article36/ppcsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣、微信公眾號營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
亚洲精品免费福利视频| 天堂中文在线官网在线| 亚洲欧洲另类美女久久精品| 欧美大片免费久久精品| 国产精品久久久久大屁股精品性色 | 夜夜草av一区二区三区| 亚洲av男人天堂一区| 一本色道av久久精品+| 久久久久久国产综合精品| 一级丰满少妇av大片| 日韩午夜电影一区二区三区| 一起草草视频在线观看| 夜夜高潮夜夜爽免费观看| 国产无遮挡又黄又爽网站| 国产精品毛片一区二区三区| 四虎国产最新在线免费| 中国人妻一区二区三区| 密臀av一区二区三区| 精品福利视频蜜臀91| 久久久精品免费中文视频| 18岁禁看网站在线看| 2021久久国产综合精品青草| 人妻系列日本在线播放| 日日狠狠久久偷偷综合色| 日本加勒比一道本东京热| 亚洲精品久久麻豆蜜桃| 亚洲综合中文字幕经典av在线 | 久久se精品一区精品二区国产| 美国一级二级三级黄片| 日韩免费av在线观看| 亚洲免费一区二区三区精品| 免费精品99久久久国产| 国产欧美一区二区另类精品| 少妇人妻精品一区三区二区| 日韩精品91一区二区| 久久成人影院免费观看| 国产美女主播视频一区二区三区| 91桃色午夜福利视频| 午夜体内射精免费视频| 日韩免费视频一区二区三区免费| 国产蜜臀视频在线播放|