coco2d―x面试题〔无脑码农〕.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
coco2d―x面试题〔无脑码农〕

Cocos2d-x面试题 (无脑码农) 1,阐述cocos2d-x 中CCScene CCLayer CCSprite CCNode CCScene: CCScene是app工作流程上独立块,一个app可能拥有多个scene,但是在任何时候只能有一个是激活状态的。一个CCScene对象由一个或多个CCLayer组成,layer之间是前后相连的。Layer提供了scene的外观和行为。通常的用法是直接用一个或多个layer实例化一个scene CCScene的子类CCTrasitionScene实现移动transitions,提供两个scene之间的转移效果,由于scene是CCNode的子类,所以scene可以手工或者用aciton来转变坐标。所有层和精灵都是他的(子节点)children。 CCScene的4个基本方法: runWithScene(运行画面), replaceScene(替换场景 例如从主菜单进入游戏界面), pushScene(暂停界面), popScene(从暂停的界面还原到游戏界面) Layers: CCLayer同样是CCNode的子类,通常用addChild方法添加子节点。 CCLayer对象定义了可描绘的区域,定义了描绘的规则。CCLayer可以实现半透明的效果, 层的事件相应机制 : 最外层最先接受到事件(屏幕触碰),最后是底层,如果在某层处理了该事件,则后面的层不会在接受到事件信号 Sprites cocos2d的sprite对象就是一个可以移动、选择、伸缩、动画的2d图形,CCSprite 对象的子成员中可以包含其它的CCSprite 对象。当CCSprite 对象转换坐标系的时候,它所包含的CCSprite 对象也会转换转换坐标系。sprites 是CCNode 的子类, 所以他们也可以使用actions来转换坐标. See Actions for more detail about actions. CCNode是场景、层、菜单、精灵等所有节点的父类,它是一个抽象类,没有可视化表示形式,定义了所有node共有的属性和方法。 ParticleEditor(粒子编辑器cocosBuilder(可视化编辑)Texture Packer(图片组合工具)等 4,简述:CCDirector CCEGLView CCEGLViewProtocol CCDirector是singleton模式的共享的对象。它知道当前哪个scene是激活。 CCDirector以stack的方式处理scenes的调用(当另一个scene进入的时候,暂停当前的scene,完成之后再返回原来的 scene),CCDirector 负责更换CCScene,在 CCLayer 被push的时候,更换或结束当前的scene。另外:CCDirector 负责初始化OpenGL ES。 作用: 1.访问和改变场景 2.访问cocos2d的配置细节 3.访问视图,(openGL, UIView, UIWindow) 4.暂停,恢复和结束游戏 5.在UIKit和OpenGL之间转换坐标 5,简述CCSpriteframeCache CCSpriteBatchNode,并说出CCNode,CCSprite是如何实现绘制的? CCSpriteFrameCache 缓存了所有CCSpriteFrame. 可以一下方式获取特定frame并设定给Sprite. 前提是文件已经缓存 CCSpriteBatchNode 中的所有CCSprite只会被渲染1次,因此可以提高游戏的FPS。 限制:加入到 CCSpriteBatchNode 中的CCSprite必须使用同一张纹理图。 比如游戏中的子弹 就很适合用它,因为子弹都是一个样子。通过TexturePacker生成的纹理图也适合使用它。 pEGLView-setDesignResolutionSize(480, 320, kResolutionNoBorder);第三个参数,找到定义: 讲得很清楚了: kResolutionExactFit:会靠拉伸来填满屏幕,本例来说背景图会变形来填充屏幕,因为1024:768=1.3, 480:320=1.5,宽高比不同,图片也就无法等比缩放来填满屏幕,只能变形了。 kResolutionNoBorder: 看不到黑边,实际就是宽高等比缩放,但缩放比例取宽比和高比之中大的那一个。 kResolutionShowAll:全部显示,可以理解为保证内容都显示在屏幕之内,实际也是宽高等比缩放,但缩放比例取宽比和高比之中小的那一个。 一般来说,我们希望设计时一屏的内容,用户在实际设备上也能在一屏内看到,拿本例来说,1024x768分辨率时,右下角的按钮却跑到屏幕外去了。看

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档