Cocos2d-x 之图层类(CCLayer)
2013-10-21 10:16
405 查看
图层对象的三个功能:
1.接受用户操作,比如触屏、重力加速度计的信息。
2.作为游戏内容元素的容器,用于显示游戏画面、承载精灵类、字体文本对象。
3.填充背景游戏背景颜色。
代码示例:
class CC_DLL CCLayer:public CCNode,public CCTouchDelegate,public CCAccelerometerDelegate,public CCKeypadDelegate
{
public:
CCLayer();//构造函数
virtual ~CCLayer();//析构函数
bool init();//初始化函数
CC_DEPRECATED_ATTRIBUTE static CCLayer *node(void);
static CCLayer *create(void);//创建图形对象的静态函数
virtual void onEnter();//进入图层时回调函数
virtual void onExit();//退出图层时回调函数
virtual void onEnterTransitionDidFinish();//场景转换之后,回调函数
//用户操作交互函数,单点触碰
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);//开始触碰
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);//触碰移动
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);//触碰结束
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//触碰取消
//用户操作交互函数,多点触碰
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);//开始触碰
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);//触碰移动
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);//触碰结束
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);//触碰取消
virtual void didAccelerate(CCAcceleration *pAccelerationValue);//加速度计信息
virtual void registerWithTouchDispatcher(void);//注册触碰事件
void registerScriptTouchHandler(int nHandler, bool bIsMultiTouches = false, int nPriority = INT_MIN, bool bSwallowsTouches = false);//注册脚本触碰事件
void unregisterScriptTouchHandler(void);//注销脚本触碰事件
bool isTouchEnabled();//返回图层是否接受触碰操作
void setTouchEnabled(bool value);//设置图层是否接受触碰操作
void setTouchMode(ccTouchesMode mode);//设置触碰方式,是同时响应,还是逐个响应
void setTouchPriority(int priority);//设置触碰的优先级
int getTouchPriority();//返回触碰的优先级
int getTouchMode();//返回触碰方式
bool isAccelerometerEnabled();//返回图层是否接受加速度计的信息
void setAccelerometerEnabled(bool value);//设置图层是否接受加速度计的信息
void setAccelerometerInterval(double interval);//设置加速度计的时间间隔
bool isKeypadEnabled();//返回是否接受键盘按键
void setKeypadEnabled(bool value);//设置是否接受键盘按键
}
1.接受用户操作,比如触屏、重力加速度计的信息。
2.作为游戏内容元素的容器,用于显示游戏画面、承载精灵类、字体文本对象。
3.填充背景游戏背景颜色。
代码示例:
class CC_DLL CCLayer:public CCNode,public CCTouchDelegate,public CCAccelerometerDelegate,public CCKeypadDelegate
{
public:
CCLayer();//构造函数
virtual ~CCLayer();//析构函数
bool init();//初始化函数
CC_DEPRECATED_ATTRIBUTE static CCLayer *node(void);
static CCLayer *create(void);//创建图形对象的静态函数
virtual void onEnter();//进入图层时回调函数
virtual void onExit();//退出图层时回调函数
virtual void onEnterTransitionDidFinish();//场景转换之后,回调函数
//用户操作交互函数,单点触碰
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);//开始触碰
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);//触碰移动
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);//触碰结束
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//触碰取消
//用户操作交互函数,多点触碰
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);//开始触碰
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);//触碰移动
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);//触碰结束
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);//触碰取消
virtual void didAccelerate(CCAcceleration *pAccelerationValue);//加速度计信息
virtual void registerWithTouchDispatcher(void);//注册触碰事件
void registerScriptTouchHandler(int nHandler, bool bIsMultiTouches = false, int nPriority = INT_MIN, bool bSwallowsTouches = false);//注册脚本触碰事件
void unregisterScriptTouchHandler(void);//注销脚本触碰事件
bool isTouchEnabled();//返回图层是否接受触碰操作
void setTouchEnabled(bool value);//设置图层是否接受触碰操作
void setTouchMode(ccTouchesMode mode);//设置触碰方式,是同时响应,还是逐个响应
void setTouchPriority(int priority);//设置触碰的优先级
int getTouchPriority();//返回触碰的优先级
int getTouchMode();//返回触碰方式
bool isAccelerometerEnabled();//返回图层是否接受加速度计的信息
void setAccelerometerEnabled(bool value);//设置图层是否接受加速度计的信息
void setAccelerometerInterval(double interval);//设置加速度计的时间间隔
bool isKeypadEnabled();//返回是否接受键盘按键
void setKeypadEnabled(bool value);//设置是否接受键盘按键
}
相关文章推荐
- Cocos2d-x_CCLayer(图层类)介绍
- iOS_31_cocos2d_图层CCLayer_加速计
- IOS_Cocos2D_label_菜单_粒子系统_图层_飞机
- cocos2d-x3.x屏蔽下层触摸(制作透明图层暂停界面)
- cocos2d-x 常用代码、高频使用代码【CCLayer、CCEditBox编辑框、CCControlButton按钮、CCLabelTTF标签、CCSpriteBatchNode渲染、CCMen】
- Cocos2d CCLayer中的touch
- 在Cocos2d中实现图层的简单惯性拖拽
- ios-cocos2d游戏开发基础-CCLayer和Touch事件-开发笔记
- 【Pia开发日记】cocos2d-x CCSprite被AddChild后出现Bug,而CCLayer不会
- Cocos2d-x教程(11)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(上) (转)
- cocos2d-x3.x屏蔽下层触摸(制作透明图层暂停界面)
- cocos2d(3)CCLayer的三个子类CCLayerColorCCLayerGridentCCLayerMultiplex
- cocos2d ccLayer响应触摸事件方法
- 【爱上cocos2d-x之六】层CCLayer
- Cocos2D-X 渲染框架之CCLayer
- Cocos2d-2.x_CCLayer,CCLayerColor,CCLayerGradient,CCLayerMultiplex层的介绍
- Cocos2d-X 学习笔记 22 CCLayer 界面Touch事件处理
- cocos2d-x CCNode,CCLayer,CCScene分析
- Cocos2d-x教程(11)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(上)
- Cocos2d-x教程(12)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(中) (转)