您的位置:首页 > 其它

【iphone游戏开发】Iphone游戏开发之五:游戏场景切换,点阵字的实现和Hiero工具的利用

2012-07-20 14:16 731 查看
Andy--清风 原创,转载请注明,谢谢


一、游戏场景切换

在iPhone游戏开发中,游戏之间的场景开发中有很多动画可以实现,具体实现的动画如下:

 

[csharp] view
plaincopy

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//从上向下渐变进入  

 

 

上面的每个动画都作了解释,当调用的时候要写入如下代码:

[csharp] view
plaincopy

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解析并显示


 

在初始化里面写入如下代码:

 

[csharp] view
plaincopy

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 http://blog.csdn.net/qiaoshe/article/details/6968761
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐