摘要:
Cocos2D-x中采用SimpleAudioEngine类来实现跨平台的声音引擎。 1、Cocos2D-x在不同平台下支持的背景音乐格式如下: android:android.media.MediaPlayer类支持的格式,包括MP3、WAV和3GP。 IOS:Cocos2D-iPhone中CocosDenshion支持的类型,推荐MP3和CAF。 Win32:MID和WAV。 2、Cocos2D-x在不同平台下支持的音效格式如下: android:对于OGG格式支持最好,同时支持WAV格式。 IOS:Cocos2D-iPhone中CocosDenshion支持的类型、推荐... 阅读全文
摘要:
滚动列表类CCListView是Cocos2D-x2.0及更高版本新增加的一个类。它继承与颜色布景层类CCLayerColor,继承关系如下: CCListView、CCListViewCell->CCLayerColor。 CCListView类作为一个容器,它装载的CCListViewCell列表单元同样继承自颜色布景层类CCLayerColor。另外CCListViewDelegate用来处理滚动列表的代理事件。 1、CCListView类的主要成员函数如下: initWithMode:参数传入,CCListViewModeHorizontal列表是水平的,CCListVie... 阅读全文
摘要:
在游戏中,有时需要用户输入用户名、密码等,这时需要调用虚拟键盘来实现。在Cocos2D-x中,通过使用继承输入法代理类CCIMEDelegate和其字体标签类CCLabelTTF的子类输入框类CCTextFieldTTF来实现虚拟键盘输入功能。继承关系如下: CCTextFieldTTF->CCLabelTTF、CCIMEDelegate。 可以看出CCTextFieldTTF类分别继承自CCIMEDelegate类和CCLabel类,这就决定了它既是标签化的输入框,又是可输入字符的标签。 1、CCIMEDelegate类的主要成员函数如下: attachWithIME:打开键盘并... 阅读全文
摘要:
使用IOS系统的设备中只有Home键,按下Home键,程序进入后台。而使用Android系统的部分设备会有Menu键和返回键,因此有时需要检测设备的键盘输入,使用键盘事件代理CCKeypadDelegate处理相应的事件。CCKeypadDelegate类的继承关系如下: CClayer->CCkeypadDelegate。 主要的成员函数如下: keyBackClicked:返回按钮按下时调用。 keyMenuClicked:Menu键按下时调用。 按键事件的使用示例如下: 1 //要在CCLayer类中获得按键事件的数据,首先要在初始化函数中加入允许接收按键事件的函数。 2 ... 阅读全文
摘要:
智能手机的游戏与应用中,也经常会用到加速度传感器事件来丰富用户的操作,比如赛车游戏中摇动手机控制前进方向、动作过关游戏中通过加速度传感器来控制角色的移动和跳跃方向等。Cocos2D-x中使用加速度传感器代理CCAccelerometerDelegate提供的方法来接收加速度传感器的数值变化,继承关系如下: CCLayer-->CCAccelerometerDelegate。 布景层类CCLayer和其子类继承自CCAccelerometerDelegate类,因此布景层类和其子类可以使用获得加速度传感器的方法。 CCAccelerometerDelegate类的主要成员函数: di... 阅读全文
摘要:
在智能手机中,触屏操作占有很重要的位置,尤其是多点触摸技术的兴起,使得触屏操作在游戏中更广泛的使用,使操作方式更加丰富。在Cocos2D-x中,继承自触屏代理协议CCTouchDelegate的布景层类CCLayer可以检测触屏事件并调用回调函数。CCTouchDelegate类的继承关系如下: CCLayer、CCStandardTouchDelegate、CCTargetedTouchDelegate-->CCTouchDelegate。 CCTouchDelegate的子类中,CCStandardTouchDelegate协议是标准的获得多点触摸点的范例,CCTargetedTo. 阅读全文
摘要:
本节学习和动画类CCAnimate相关的类,比如:CCAnimationCache类、CCAnimationFrame类、CCAnimation类等。下面我们就来一一学习: 1、动画缓存类CCAnimationCache:是一个单例,用于缓存所有的动画和动画帧,使用示例如下:1 //获得动画缓存类CCAnimationCache2 CCAnimationCache* animCache = CCAnimationCache::shareAnimationCache();3 //通过addAnimation函数加入动画,并给动画命名。4 animCache->addAnimation( a 阅读全文
摘要:
网格动作类似于特效,可以实现翻转、抖动、震荡、水波纹等效果。Cocos2D-x中,网格类的基类CCGridBase有两个子类,即CCGrid3D和CCTiledGrid3D。这两个类的共同点是,网格的每个子块都可以分离出来,CCGridBase的继承关系如下: CCGrid3D、CCTiledGrid3D-->CCGridBase-->CCObject。 网格没有什么直接应用的场合,只要明白CCGrid3D和CCTiledGrid3D,并且网格动作是基于网格的即可。运行网格动作的节点好像被分成了大小相同的很多矩形,通过这些矩形的动作形成整体动作,这些矩形就好像形成了一个矩阵。16x 阅读全文
摘要:
动作管理类CCActionManager是一个管理所有动作的单例,工作原理是:当CCNode执行runAction时,该函数会把动作通过动作管理类的addAction函数将对象传递给CCActionManager的单例,该实例再把这个动作添加到自己的动作序列中。 动作管理类单例通过定时刷新自己的update方法,在这个方法中去调用行为序列中每个动作的step(暂停的行为不会update),这些step方法在根据自身的完成进度去update或是结束行为。 实际上是由动作管理单例驱动的每个动作去更新自己的逻辑,而runAction方法只是将行为对象添加进CCActionManager的待执... 阅读全文