cocos2d-x 复习知识点整理(四)

本文详细梳理了cocos2d-x的游戏开发知识点,包括场景切换的内存管理、生命周期事件顺序、屏幕适配解决方案、常用辅助工具如TiledMap和ParticleEditor的介绍、游戏启动从AppDelegate类开始、cache机制原理、‘2048’游戏逻辑、autorelease与release的区别、moveto与moveby的操作区别、内存管理机制,特别是图片缓存、自动释放池的运用。同时,还讨论了静态工厂和纹理、精灵帧、动画缓存的管理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

31.场景切换的内存管理以及生命周期

生命周期事件顺序:

HelloWorld场景进入Setting场景生命周期事件顺序

 

32.简述cocos2d屏幕适配解决方案

屏幕分辨率,资源分辨率,设计分辨率

屏幕分辨率:以像素为单位的屏幕大小

资源分辨率:资源图片的大小,单位是像素

设计分辨率:逻辑上游戏屏幕大小,在游戏中精灵的位置便可以参考该值

 

资源分辨率到设计分辨率到屏幕分辨率,

SetContentScaleFactor();设置缩放因子,指资源大小和设计分辨率大小的比值,

setSearchPaths();设置搜索路径,每个路径下面有一套资源文件

setDesignResolutionSize();设计分辨率到屏幕分辨率,

 

33.常用的辅助工具

TiledMap(瓦片地图编辑器)  ParticleEditor(粒子编辑器)  Texture Packer(图片组合工具)

瓦片地图和图片组合的自己玩过...中间的没玩过  问我怎么玩 自己搜教程..

 

34.游戏启动是从哪个类开始的

AppDelegate类

 

35.cache机制的原理是什么

把新加进内存的资源做一个hashmap存储,每一个资源加一个key。每次加载资源的时候,先查找资源是否存在,存在直接返回,否则加载进内存。

 

36.掌握“2048”核心逻辑实现

这尼玛..就几个卡片动来动去...不多说了

 

37.autorelease和release的区别

release立即释放    autorelease将对象放入对象释放池引用计数并不马上减一,在一个消息循环后减一

 

38.moveto和moveby的区别

moveto是绝对的 移动到世界坐标的一个固定的点  moveby是相对的 是在原来的位置上相对移动一个向量。

 

39.简述cocos2d-x内存管理 图片缓存机制 自动释放池 自动释放池管理器

引用计数器——手动管理内存

自动释放池——自动管理内存

CCNode节点管理

静态工厂

Node在addChild时引用计数加一,removeChild时引用计数减一

__Array和__Dictionary等容器对象通过add(addObject)相关函数可以使得其中的精灵引用计数加一..

其他可以显式调用retain和release(或者autorelease)

一个retain一定要对应一个release或者autorelease

静态工厂

静态工厂创建方法,两阶段创建模式,分配内存与初始化分开

cache机制类

TectureCache纹理缓存,第一次使用一张图片有两步,一个是先将图片加载进TextureCache中,下一步是绘制图片,第二次使用这张图片时从缓存里找到这张图片,直接绘制

SpriteFrameCache

和textureCache一样,不过和TextureCache不同的是,如果内存池中不存在要查找的图片,他会提示找不到,而不是去本地加载图片。

AnimationCache

而对于使用频率高的动画,例如角色的走动、跳舞等,可以将其加入到AnimationCache中,每次使用都从这个缓存中调用,这样可以有效的降低创建动画的巨大消耗。

lamuda表达式:

auto listener = EventlistenerTouchOnebyOne::create();
listener -> onTouchBegan = [&](Touch* touch ,Event *event)
{
    

};

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值