粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,为实现一些真实自然而又带有随机性的特效(如爆炸、烟花、水流)提供了方便。
3、动画
在Cocos2d-x中动画的具体内容是依靠精灵显示出来的,为了达到动态的效果,不停更改精灵显示的内容,把静态的精灵通过动画播放的方式展现出动画效果。使用Animation类来描述一个动画,精灵显示动画的动作则就是一个Animate对象。动画动作Animate是精灵显示动画的动作,它由一个动画对象创建,并由精灵执行。
3。3用户事件
一般来说在处理触摸事件时,可以重写onTouchBegan,onTouchMoved和onTouchEnded这三个方法,或者直接通过Lambda表达式完成响应逻辑。在Cocos2d-x 3。x中只要创建多点触摸事件监听器,然后添加到事件分发器中即可。
3。4游戏背景音乐与音效
Cocos2d-x游戏引擎提供了对游戏背景音乐和音效的支持,并且能够十分方便的实现背景音乐与音效的播放、暂停和循环功能。同时也可以使用Cocos2d-x自带的CocosDension库来使用声音引擎。CocosDesion库实现了SimpleAudioEngine类,如果要使用声音引擎库,只需引入声音库的头文件,如下:
#include "SimpleAudioEngine。h"
CocosDension库支持的音乐格式如下表3-1:
表3-1 CocosDesion支持的音乐格式:
平台 支持的常见文件格式 备注
Android mp3, mid, oggg, wav 可以播放android。media。MediaPlayer所支持的所有格式
IOS aac, caf, mp3, m4a, wav 可以播放AVAudioPlayer所支持的所有格式
Windows mid, mp3, wav 无
CocosDension库支持的音效格式如下表3-2:
表3-2 CocosDesion支持的音效格式如下:
平台 支持的常见文件格式 备注
Android oggg, wav 对wav的支持不完美
IOS caf, m4a 可以播放Cocos2d-iPhone CocosDesion所支持的所有格式
Windows mid, wav 无
3。5物理引擎
Cocos2d-x 3。x版本集成了全新的Chipmunk物理引擎。游戏制作者再也不需要关心它的物理引擎将被如何引用,或者如何直接调用外部物理引擎的API。并且可以很方便的去创建带物理世界的场景,物理边界和受重力影响的Sprite,以及碰撞检测。
1、以下代码是创建一个物理世界的场景:
class PhysicsLayer : public cocos2d::Layer
{
。。。
// add following codes
void setPhyWorld(PhysicsWorld* world){ m_world = world; }
private:
PhysicsWorld* m_world;
。。。
}
然后在PhysicsLayer。cpp中createScene方法添加下面代码:
Scene* PhysicsLayer::createScene()
{
。。。
// add following codes
auto scene = Scene::createWithPhysics();
scene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);
auto layer = HelloWorld::create();
layer->setPhyWorld(scene->getPhysicsWorld());
。。。
return scene;
}
2、创建物理边界