Cocos2d-x学习笔记《07》——场景类Scene、布景类Layer

Cocos2d-x学习笔记《07》——场景类Scene、布景类Layer

一. 场景类Scene

Scene(场景)是一个抽象的概念,仅被用作Node(节点)的一个子类。Scene(场景)和Node(节点)几乎相同,不同的是Scene的默认锚点在屏幕的中心。现在 scene 没有其它的逻辑,不需要我们做太多的操作及处理,更多的操作处理基本都是在布景层上完成。

二. 布景类Layer

1. Layer类

Layer类是Node类的一个子类,它实现了触屏事件代理(TouchEventsDelegate)协议。

子类:

  • LayerColor是Layer的一个子类,它实现了RGBAProtocol协议。
  • LayerGradient是LayerColor的一个子类,它在背景上画渐变效果。LayerGradient它实现了LayerColor类的所有功能,还添加了以下这些新功能:渐变方向、渐变最终颜色、插值模式。
  • LayerMultiplex类是一个能够使它的子类进行复用的布景层类。

2. 常用方法

1 //初始化函数
2 virtual bool init(); 
3  
4 //分配内存,默认创建一个全屏的黑色布景层 
5 static Layer *create(void); 
6  
7 //层进入回调 
8 virtual void onEnter(); 
9 //层退出回调 
10 virtual void onExit(); 
11 //如果层进入伴随转换效果,效果完成时回调 
12 virtual void onEnterTransitionDidFinish(); 
13  
14 //触摸事件(单点) 
15 virtual bool onTouchBegan(Touch *touch, Event *unused_event);
16 virtual void onTouchMoved(Touch *touch, Event *unused_event);
17 virtual void onTouchEnded(Touch *touch, Event *unused_event);
18 virtual void onTouchCancelled(Touch *touch, Event *unused_event);
19 //触摸事件(单点和多点)
20 virtual void onTouchesBegan(const std::vector<Touch*>& touches, Event *unused_event);
21 virtual void onTouchesMoved(const std::vector<Touch*>& touches, Event *unused_event);
22 virtual void onTouchesEnded(const std::vector<Touch*>& touches, Event *unused_event);
23 virtual void onTouchesCancelled(const std::vector<Touch*>&touches, Event *unused_event);
24  
25 //注册触摸分发,默认是addStandardDelegate 
26 virtual void registerWithTouchDispatcher(void); 
27  
28 //判断触屏事件是否开启
29 bool isTouchEnabled();
30 //开启或关闭触屏事件
31 void setTouchEnabled(bool value); 
32  
33 //设置/获取触摸模式 
34 void setTouchMode(Touch::DispatchMode mode) 
35 Touch::DispatchMode getTouchMode();
36  
37 //触屏事件中的 swallowsTouches 事件。默认是true.
38 void setSwallowsTouches(bool swallowsTouches);
39 bool isSwallowsTouches() const
40  
41 //设置/获取是否接收键盘事件 
42 bool isKeypadEnabled(); 
43 void setKeypadEnabled(bool value); 
44  
45 //返回键和菜单键的回调,需要设置接收键盘事件 
46 void keyBackClicked(void); 
47 void keyMenuClicked(void);
0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值