Andy--清風 原創,轉載請註明,謝謝
一、遊戲場景切換
在iPhone遊戲開發中,遊戲之間的場景開發中有很多動畫可以實現,具體實現的動畫如下:
CCTransitionRotoZoom//從大到小畫面縮小並跳動進入
CCTransitionJumpZoom//立體從左邊縮小跳動進入
CCTransitionMoveInL//從左邊移動進入右邊
CCTransitionMoveInR//從右邊移動進入左邊
CCTransitionMoveInT//從上邊移動到入下邊
CCTransitionMoveInB//從下邊移動到入上邊
CCTransitionSlideInL//從左邊移動入右邊
CCTransitionSlideInR//從右邊移動入左邊
CCTransitionSlideInT//從上邊移動入下邊
CCTransitionSlideInB//從下邊移動入上邊
CCTransitionShrinkGrow//從大到小在中間縮小進入
CCTransitionFlipX//從X軸方向立體翻轉
CCTransitionFlipY//從Y軸方向立體翻轉
CCTransitionFlipAngular//從右邊頭翻轉進入
CCTransitionZoomFlipX//從X軸方向立體跳動翻轉
CCTransitionZoomFlipY//從Y軸方向立體跳動翻轉
CCTransitionZoomFlipAngular//從右邊立體縮小翻轉進入
CCTransitionFade//從中間漸變進入
CCTransitionCrossFade//從外圍漸變進入
CCTransitionTurnOffTiles//從格子覆蓋上層進入
CCTransitionSplitCols//豎直分三個方塊切入
CCTransitionSplitRows//橫向分三個方塊切入
CCTransitionFadeTR//從左下角向右上角格子漸變進入
CCTransitionFadeBL//從右上角角向左下角格子漸變進入
CCTransitionFadeUp//從下向上漸變進入
CCTransitionFadeDown//從上向下漸變進入
上面的每個動畫都作了解釋,當調用的時候要寫入如下代碼:
CCScene*sc = [CCScene node];
[scaddChild:[HelloWorld scene]];
[[CCDirectorsharedDirector] replaceScene:[CCTransitionZoomFlipXtransitionWithDuration:ttime scene:sc]];
畫面中提供了二十六種場景切換的動作,我將貼上demo給大家分享。
二、點陣字的實現
在iPhone開發中,我們要實現不同類型的字體,不同變相的字體,我們除了用Photoshop畫好圖片加載進入之外還可以做點貼字來實現。
(1)點陣字介紹
點陣字能使用OpenGL ES將文本渲染到屏幕上。在點陣字中每個字符由一張圖像表示,我們可以通過Hiero生成的點陣字精靈表來實現。Hiero的下載地址爲:(http://n4te.com/hiero/hiero.jnlp),我們在windows平臺還能利用BMFont(http://www.anglecode.com/products/bmfont)從TrueType生成點陣字。它提供的功能比Hiero多。
(2)Hiero介紹
Hiero主界面
從左邊的Font裏面選擇system裏面的字體,或者可以加載文件裏面的字體,並設置字體的大小或者黑體,斜體等,然後選擇在右邊的Effects,選擇你喜歡的,然後在Rendering設置要用的寬度和高度,之後我們可以選擇Reset Cache,設置後的如下:
然後我們點擊File的save bmfont files,如下圖:
這樣我們就可以得到BMFont的文件了,一個png的精靈表使用的圖片和一個fnt的控制文件。
(3)如何使用CCLabelBMFont解析並顯示
在初始化裏面寫入如下代碼:
CCLabelTTF*label = [CCLabelTTF labelWithString:@"I'm Andy From CCLabelTTFclass" fontName:@"Marker Felt" fontSize:33];
CCLabelBMFont*label1 = [CCLabelBMFont labelWithString:@"I'm Andy"fntFile:@"Andy.fnt"];
CCLabelBMFont*label2 = [CCLabelBMFont labelWithString:@"I'm Andy2"fntFile:@"Andy2.fnt"];
// ask director the the window size
CGSizesize = [[CCDirector sharedDirector] winSize];
// position the label on the centerof the screen
label1.position= ccp( size.width /2 , size.height/2+60);
label.position= ccp( size.width /2 , size.height/2 );
label2.position= ccp( size.width /2 , size.height/2-60);
// add the label as a child to thisLayer
[self addChild: label1];
[self addChild: label];
[self addChild: label2];
這樣我們就可以得到我們像上圖那樣模擬器的顯示結果了,這節課講了場景切換和點陣字,主要是場景的動畫實現和如何製作我們想要的點陣字。好了,這節就講到這裏啦,歡迎大家支持哈。
附上源代碼:
http://download.csdn.net/detail/qiaoshe/3793714
http://download.csdn.net/detail/qiaoshe/3793719