游戏中缓存加载纹理- 游戏渲染机制

来源:互联网 发布:日本武士刀淘宝 编辑:程序博客网 时间:2024/05/24 13:28

A:

<cocos2d-x 手机游戏开发>一书,动画加载AppDelegate中

1: 从文件中直接加载    CCSprite::spriteWithFile("文件完整名称")

2,间接加载

A:有些经常被用到或者需要频繁加载移除的一些资源,如果每次都从文件中加载,

程序的效率会变得非常低,通常的做法是将这些文件先读到缓存中,然后再从缓存中加载。

CCTexture2D *pTexture = CCTextureCache::sharedTextureCache()->addImage(pszFilename);

B: 另一种间接加载方法是利用SpriteFrame

SpriteFrame是把一个大的图片划分掉,每一个矩形区域就是一个SpriteFrame

B : 

2.0之前, 在draw()中直接条用openGl 绘制

3.0之后, 发到render中, 同意渲染

main — mainLoop()— drawScene() —>visit()—>draw()   搜索:”::mainLoop()"

C:
触摸机制:
2.0 是依据优先级
3.0之后,1:设置的优先级    2: Z值 (大有xian)

D:

mainLoop():

首先还是就我个人的理解,讲讲游戏引擎的处理流程。

其实游戏逻辑简单化就是一个死循环,如下:

我们所看到的游戏画面,游戏音乐,以及一些触控,输入等。在逻辑上就是这么一个死循环。这个循环一直在跑,期间会处理一些列的事件,简化之就是上面的两个函数。

void DisplayLinkDirector::mainLoop()

 {     

if (_purgeDirectorInNextLoop)  

   {         _purgeDirecto 

  1. // 添加到自动释放池的实际操作 
  2. void CCAutoreleasePool::addObject(CCObject* pObject) 
  3.     // 内部是由一个 CCArray 维护自动释放对象,并且此操作 会使引用 + 1 
  4.     m_pManagedObjectArray->addObject(pObject); 
【HIMI转载推荐之三】基于Cocos2dx引擎UI扩展引擎包[cocos2d-x-3c]

0 0
原创粉丝点击