从零开始学Cocos2D导演类CCDirector[编辑中]

CCDiretor如其名,导演统筹和协调游戏各项动作。

游戏引擎只需要拥有一个导演类,所以CCDiretor是单例模式。

调用并获得CCDiretor的方法:

CCDiretor.shareDirector();

它只支持1/60 1/30 1/15 3种动画帧间隔 ,设置帧间隔方法:

 CCDirector.sharedDirector().setAnimationInterval(1.0f / 30);


CCDirector的主要公开方法:
函数名返回类型描述
getRunningScene场景类 获得当前正在运行的场景
getAnimationInterval小数获得每帧的时间
setAnimationInterval设置每帧的时间
isDisplayStats布尔型返回是否在屏幕左下角显示每帧
setDisplayStats设置是否在屏幕左下角显示每帧
getSecondsPerFrame浮点值获得每帧的时间(单位秒)
getOpenGLViewOpenGL视图获得所有对象绘制OpenGL视图
setOpenGLView设置所有对象的OpenGL视图
isPaused布尔值获得导演对象是否暂停
getTotalFrames整型获得从导演类开始运行的帧数
getProjection导演投影获得OpenGL的投影
setProjection设置的OpenGl的投影
getNotificationNode节点获得一个节点对象,这个节点对象在主
场景被遍历后遍历
enableRetinaDisplay布尔型是否是视网膜版的显示
getWinSize尺寸获得屏幕大小(单位为点)
getWinSizeInPixels尺寸获得像素级的屏幕大小,单位为像素,只是视网
膜版本上一个不同的返回值
reshapeProjection改变投影的大小
converToGL点坐标从UI体系的坐标转换为OpenGL的坐标
converToUI点坐标从OpenGL的坐标转换为UI体系的坐标
runWithScene

运行当前场景

popScene弹出当前的场景,将它从栈顶弹出
pushScene悬挂当前场景,压入栈中
popToROOToScene弹出所有场景,直到根场景
replaceScene替换当前场景
end结束游戏
pause暂停游戏
resume

重启被暂停的场景,被暂停的时间调度也

重新激活

stopAnimation停止动画
startAnimation开始动画
drawScene绘制场景
purgeCacheData清除缓存数据
setGLDefaultValues将OpenGL参数设置为默认值
setAlphaBlending设置OpenGL是否采用Alpha值
setDepthTest设置是否测试景深
getTouchDispatcher触屏调度获得触屏调度对象
setTouchDispather设置触屏调度对象
getKeypadDispather键盘调度获得键盘调度对象
setKeypadDispather设置键盘调度对象
getAccelerometer加速度传感器获得加速器传感器
setAccleerometer设置加速器传感器
getActionManager动作管理获得动作管理器对象
setActionManager设置动作管理器对象
getScheduler调度获得调度对象
setSchduler设置调度对象


Cocos2D-Android1 代码示例:

public class Main extends Activity {
    /** Called when the activity is first created. */
	private CCGLSurfaceView view;
	private CCDirector director;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        view=new CCGLSurfaceView(this);
        director=CCDirector.sharedDirector();
        director.attachInView(view);
        director.setDisplayFPS(true);
        // attach the OpenGL view to a window

        // set landscape mode
        CCDirector.sharedDirector().setLandscape(false);

        // show FPS
        CCDirector.sharedDirector().setDisplayFPS(true);

        // frames per second
        CCDirector.sharedDirector().setAnimationInterval(1.0f / 30);

        // Make the Scene active
        CCScene scene=CCScene.node();
        CCDirector.sharedDirector().runWithScene(scene);
        setContentView(view);
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值