chapter4 习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章
1.简述使用游戏引擎的好处。
答:游戏引擎相当于游戏的底层框架平台,框架平台搭好后,只要往里填充内容就可以了。如果把游戏引擎比拟为一个“游戏操作系统”,那么最终的游戏产品则可比拟为一个个具体地运行在“游戏操作系统”上的应用程序。随着技术不断地提高,游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影和粒子特效,从物理系统、碰撞检测到文件管理、网络流量控制等,包括专业的编辑工具和插件,几乎涵盖了游戏程序设计过程中的所有重要环节,从而大大减少了人力物力资源。
2.游戏引擎一般都有哪些功能?
答:游戏引擎的常见功能有:光影效果,即场景中的光源对处于其中的人和物的影响方式;动画生成,引擎把动画系统预先植入游戏,方便动画师为角色设计丰富的动作造型;物理模拟;渲染;交互控制等。
3.请列举出几款当今市场上比较流行的游戏,并指出它所使用的游戏引擎。
答:《捕鱼达人》、《水果忍者》等,使用Cocos2d-x制作;《绝代双骄》、《摩卡世界》等,使用Unity3D制作;《暗影帝国》、《战争机器》、《镜之边缘》等,使用Unreal制作。
4.Cocos2d-x的核心类是那些?
答:Cocos2d-x的核心类包括:节点类、导演类、场景类、层类、精灵类。
5.Cocos2d-x中的事件处理机制包含哪几个步骤?
答:接收数据(Touch)->分发事件(EventDispatcher)->监听响应(EventListener)。
6.Cocos2d-x是如何管理内存的?
答:Cocos2d-x采用引用计数的方式来进行内存管理。
7.使用Cocos2d-x创建一个精灵,并在屏幕中显示出来。
答:(1)直接创建
auto sprite = Sprite::create( "sprite.png" );
this ->addChild(sprite);
(2)使用纹理来创建精灵
auto sprite1 = Sprite::createWithTexture(TextureCache::getInstance()->addImage
("sptite1.png"));
this ->addChild(sprite1);
(3)使用精灵帧来创建精灵
auto sprite2=Sprite::createWithSpriteFrameName( "sprite2.png" );
this ->addChild(sprite2);
8. Cocos2d-x的导演类采用了单例模式,试简述单例模式的概念。
答:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
9.Cocos2d-x支持哪些3d模型格式?有何区别?
答:Cocos2d-x支持obj、c3t、c3b三种模型格式,obj格式不支持动画,c3t是Json文本格式且体积大,c3b是二进制格式且体积小。
10.Cocos2d-x坐标系与标准屏幕坐标系有何区别?
答:Cocos2d-x坐标系的原点在屏幕左下角,x轴正方向向右,y轴正方向向上。标准的屏幕坐标系的原点在屏幕左上角,x轴正方向向右,y轴正方向向下。
11.试查找相关资料,对Cocos2d-x与Unity3D引擎进行比较。
答:Unity3D的亮点是可视化编程,资源轻松导入,一键部署各个平台,拥有众多第三方插件,轻松处理音频/视频的兼容。Cocos2d-x是拥有发达的开发者社区,能够方便的找到各种问题的解决方案。spine、TexturePacker、Cocostudio等工具让引擎方便的处理各种资源,UI问题。而且开源方式也使开发者很方便的研发出适合自己项目的编辑器。
Unity3D任何功能都可以拆分成单个组件来实现;Cocos2d-x开源的优势在于可以根据自身的需求进行自定义修改。
Unity3D对可视化编辑的支持更好,脚本编译时间很快,可以快速出原型出Demo Cocos2d-x更多是代码层面的编写,为了补充可视化编辑方面的问题推出了Cocos Studio 。