Cocos2d-x学习笔记(七)之 布景层类CCLayer
2013-08-21 14:52
423 查看
布景层类CCLayer 是CCNode 类的子类, 并且在此基础上实现触屏事件代理(TouchEventsDelegate)协议,可以实现CCNode 类的功能,并且可以处理输入,包括触屏和加速度传感器。每个游戏场景中可以有很多层,每一层负责各自的任务,如专门负责显示地图的背景、专门负责显示敌人、专门负责机关和专门负责主角等;每一层上可以放置不同的元素,包括文本、精灵图片和菜单等。通过层与层之间的组合关系,就可以构成游戏显示的界面UI,游戏中等。当然为了看到每一层的东西,可把一些层设置为透明或半透明的,这样就可以看到不同布景层叠加到一起的效果了。CCLayer类的继承关系如下:(CCLayer 类继承自CCNode 类,并且CCLayer 类还遵照触屏代理协议、加速度传感器代理协议、键盘时间代理协议等协议。)
CCLayer-->CCNode、CCTouchDelegate、CCAcceleromelerDelegate、CCKeypadDelegate。
成员函数如下:
init:初始化CCLayer。
onEnter:当进入布景层时被调用。
onExit:当离开布景层时被调用。
onEnterTransitionDidFinish:过场动画结束时调用。
ccTouchBegan:触屏触摸屏幕。
ccTouchMoved:触屏移动。
ccTouchEnded:触屏结束。
ccTouchCancelled:触屏取消。
ccTouchesBegan:触屏触摸屏幕(多点触控)。
ccTouchesMoved:触屏移动(多点触控)。
ccTouchesEnded:触屏结束(多点触控)。
ccTouchesCancelled:触屏取消(多点触控)。
didAccelerate:加速度传感器。
registerWithTouchDispatcher:如果触屏被允许,这个方法在init 里调用。
isTouchEnabled:获得是否触屏。
setTouchEnabled:设置触屏。
isAccelerometerEnabled:是否获得加速度传感器。
setAccelerometerEnabled:设置获得加速度传感器。
isKeypadEnabled:是否获得键盘事件。
setKeypadEnabled:设置获得键盘事件。
1、定义布景层并把它加入到场景中
2、CCLayer中的init函数在创建布景层时被调用,在init 函数中定义要显示的对象并把它作为子类加入场景中。
好了,布景层就先介绍到这里了,布景层类有很多种子类,比如:CCLayerColor(实现 CCRGBAProtocol 协议,可设置层的颜色和不透明度)、CCLayerMultiplex(可以将它和子布景层结合在一起)、CCMenu(菜单布景层)、CCControl(UI 控件)、CCScrollView(支持Cocos2D-iPhone 的滚动视图)等。下面就会分别对这些比较重要的子类进行介绍和对其的使用方法。
CCLayer-->CCNode、CCTouchDelegate、CCAcceleromelerDelegate、CCKeypadDelegate。
成员函数如下:
init:初始化CCLayer。
onEnter:当进入布景层时被调用。
onExit:当离开布景层时被调用。
onEnterTransitionDidFinish:过场动画结束时调用。
ccTouchBegan:触屏触摸屏幕。
ccTouchMoved:触屏移动。
ccTouchEnded:触屏结束。
ccTouchCancelled:触屏取消。
ccTouchesBegan:触屏触摸屏幕(多点触控)。
ccTouchesMoved:触屏移动(多点触控)。
ccTouchesEnded:触屏结束(多点触控)。
ccTouchesCancelled:触屏取消(多点触控)。
didAccelerate:加速度传感器。
registerWithTouchDispatcher:如果触屏被允许,这个方法在init 里调用。
isTouchEnabled:获得是否触屏。
setTouchEnabled:设置触屏。
isAccelerometerEnabled:是否获得加速度传感器。
setAccelerometerEnabled:设置获得加速度传感器。
isKeypadEnabled:是否获得键盘事件。
setKeypadEnabled:设置获得键盘事件。
1、定义布景层并把它加入到场景中
// 创建场景 CCScene *scene = CCScene::create(); // 创建布景层 HelloWorld *layer = HelloWorld::create(); // 把布景层加入到场景中 scene->addChild(layer);
2、CCLayer中的init函数在创建布景层时被调用,在init 函数中定义要显示的对象并把它作为子类加入场景中。
bool HelloWorld::init() { if ( !CCLayer::init() ) { return false; } //定义要显示的对象并把它们添加到场景中 return true; }
好了,布景层就先介绍到这里了,布景层类有很多种子类,比如:CCLayerColor(实现 CCRGBAProtocol 协议,可设置层的颜色和不透明度)、CCLayerMultiplex(可以将它和子布景层结合在一起)、CCMenu(菜单布景层)、CCControl(UI 控件)、CCScrollView(支持Cocos2D-iPhone 的滚动视图)等。下面就会分别对这些比较重要的子类进行介绍和对其的使用方法。
相关文章推荐
- 【Cocos2d-html5游戏引擎学习笔记(7)】CCLayer创建及场景跳转
- Cocos2d-x学习笔记之CCLayerColor层的使用实例
- cocos2d-x学习笔记(4)--CCLayer背景绘制
- 【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
- 【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
- Cocos2d-X 学习笔记 22 CCLayer 界面Touch事件处理
- 【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
- Cocos2d-X 学习笔记 21 CCLayer响应手机按键
- 我的Cocos2d-x学习笔记(五)CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- 我的Cocos2d-x学习笔记(五)CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex
- Cocos2d-x学习笔记(五)CCLayer分析及输入事件处理(触摸、重力传感器、按键)
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》 前言
- Cocos2d TileMaps 学习笔记 [转]
- cocos2d-x学习笔记(16)--spritesheet(精灵表单)
- cocos2d-x学习笔记09:动作2:持续动作
- cocos2d-x学习笔记(19)--label 、label atlas
- [Cocos2d-x]Cocos2d-x 3.2 学习笔记
- 【原】cocos2d-x学习笔记1
- cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境