cocos2dx进阶学习之CCEGLView
继承关系CCEGLView-> CCEGLViewProtocol CCEGLView是窗口,在不同平台上有不同的实现,而CCEGLViewProtocol是CCEGLView定义的接口,所以学习CCEGLView,主要是要学习CCEGLViewProtocol中定义的接口。 类主要成员CCEGLView(); 构造函数,初始化所有成员变量。 virtual void end(); 删除窗口,做窗口清理工作 virtual bool isOpenGLReady(); 判断是否可以绘图 virtual void swapBuffers(); 交换buffer virtual void setIMEKeyboardState(bool bOpen) 设置输入法状态 virtual void setFrameSize(float width,float height); virtual const CCSize& getFrameSize() const; 设置和获取窗口大小 virtual CCSize getVisibleSize() const virtual CCPoint getVisibleOrigin() const 获取可见区域的原点和大小 virtual void setDesignResolutionSize(float width,float height,ResolutionPolicy resolutionPolicy); virtual const CCSize& getDesignResolutionSize() const; 设置设计的size,当需要适配多种设备时,可以用这个函数定义逻辑坐标,cocos2dx会自动将逻辑坐标转化成实际坐标 这样一样的代码可以适配各种设备分辨率。 virtual void setTouchDelegate(EGLTouchDelegate * pDelegate); 设置触摸代理,触摸代理有虚函数处理触摸事件,我们需要重写触摸处理虚函数即可,一般的实现是在CCLayer中 virtual void handleTouchesBegin(int num,int ids[],float xs[],float ys[]); virtual void handleTouchesMove(int num,float ys[]); virtual void handleTouchesEnd(int num,float ys[]); virtual void handleTouchesCancel(int num,float ys[]); 触摸处理函数,可以重载 static CCEGLView* sharedOpenGLView(); 获得单例的窗口指针,如果没有则创建,源代码如下:
总结CCEGLView是显示窗口,负责窗口级别的功能管理和实现,包括: 1)坐标和缩放管理 2)画图工具 3)按键事件 4)输入法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |