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
- // 添加到自动释放池的实际操作
- void CCAutoreleasePool::addObject(CCObject* pObject)
- {
- // 内部是由一个 CCArray 维护自动释放对象,并且此操作 会使引用 + 1
- m_pManagedObjectArray->addObject(pObject);