CCDirector(导演)
1. Director->SharedDirector --singleton
2. getWinSize->取得屏幕尺寸 永远取得1024*768
3. getWinSizeinPixels 取得像素级尺寸
4. convertoGL 以左下角为坐标原点,改变点成为openGL的点
5. runWithScene用来启动整个游戏 (初始化为判断界面)
pushSchene
...
两个方法
6. pushScene 不想释放场景而是很快的回来。内存中两个场景同时存在。有可能会崩溃点(android特别是
国产)譬如用在状态设置或看某个数据,看完后会很快切到原来的场景。
7. popScene.
把栈顶场景释放掉
8. ReplaceScene
CCScene(场景)
仅仅继承Node类,没什么工作可做,是整个显示树的根节点。
CCLayer(层)
功能较丰富,可以接受事件
OnEnter--短时间片操作
在运行时会首先调用OnEnter的函数,在里面做异步操作,如果长时间片的操作,会出现卡顿。都在一个线程操
作,用shalder?
onExit---短时间片操作
保存数据或者
onentertransitionDidFinish
可以给一些预制的动作,不要阻塞
touch函数
ccTouchBegan 单点击作用,true表示被点击到,返回false,
locationInView???
previousLocationInView 传递一个历史前一个点,可以算出一次周期之内手指移动了多长距离。
setTouchInfo-----一般不用
多指操作
ccTouchesBegan 不会返回bool值。
int count();会得到一个返回的点数
用起来不是很方便。
setIsTouchEnabled 告诉场景进去后是否接收点击事件,一般会重载一个函数registerWithTouchDispatcher
registerWithTouchDispatcher ???实现-》addTargetedDelegate
实现-》addStandardDelegate??
CCSprite(精灵)
一般是用来显示图片纹理
SpriteWithTexture通过纹理去创建图片,可以去一个纹理中的一个区域
batchnode把所有的精灵都统一绘制一遍,只调用一次,在batchnode上面只能用一个纹理上的图片。
CCSpritepSprite= CCSprite::spriteWithFile("HelloWorld.png");
在cocos2d-x中一般不建议使用delete来删除,也不推荐使用new,而是直接使用指针,在计数器未被归零之前
delete的引用话所有的饮用都会找不到,会导致很难找到错。
通过文件创建精灵,可以点击initWithFile的方法
spriteWithSpriteFrame
spriteWithSpriteFrameName
用这两个接口来创建精灵.
frameName的名字一般都是打包器打包之前的名字。
spriteWithFile
setpositoin
setScale
setRotation