05、层

按层管理所有物体

层更符合我们对世界的认识,就好像百货大厦,每一层销售的商品种类都不一样。相对应的在一个典型游戏中,往往会包含一些层 :背景层、人物层、道具层等等。背景层是固定的图片或者地图,人物层中主角和各种小怪可以不断移动,两层之间互不干扰,各自管理层内的子节点。层继承节点的特性,可以在层中继续嵌套子层。 例如人物层中又可以继续拆分为主角层,NPC层。

使用层的方式很简单,首先新建一层 :

var layer = new cc.Layer();
在把层添加到场景 :
scene.addChild(layer);
再把子节点添加到这个层上 :
layer.addChild(child);


cc.LayerMultiplex

cc.LayerMultiplex的作用是切换各个层,也就是tab切换。如下图 :


上图中,最上面有 : 作物、道具、宠物和装饰。但我们点击按钮时,就会跳到对应的界面。这个就是cc.LayerMultiplex的作用。使用方法也很简单, 如下 :

//新建3个层
var layer_1 = new Layer_1();
var layer_2 = new Layer_2();
var layer_3 = new Layer_3();
		
//创建LayerMultiplex,并把层添加到LayerMultiplex中(先添加进去的层先显示)
var lmx = new cc.LayerMultiplex(layer_1,layer_2,layer_3);
this.addChild(lmx);
		
lmx.switchTo(1); //若想显示layer_2层, 则使用该函数。(参数中的0代表layer_1, 1代表layer_2, 2代表layer_3)



cc.LayerColor(纯色背景层)

使用cc.LayerColor可以很方便的实现纯色背景。代码如下 :

var layer = new cc.LayerColor(cc.color(255,0,0), 800, 1280);
这样就创建了一个纯红色宽800,高1280像素的背景。其中,cc.color是一个全局函数,接受0到255的R、G、B三通道的值,从而产生一个颜色值。

后面的800和1280是层的宽和高。如果不设置宽和高,层将默认为全屏大小。



cc.LayerGradient(颜色渐变层)

使用cc.LayerGradient可以实现一个颜色渐变到另外一个颜色的效果。代码如下 :

var layerGradient = cc.LayerGradient.create();
layerGradient.setStartColor( cc.color(255,0,0) );	//设置开始颜色
layerGradient.setEndColor( cc.color(0,255,0) );		//设置结束颜色
layerGradient.setVector(cc.p(0,0));  	//设置渐变方向
layerGradient.setStartOpacity(0);	//设置开始透明度                	
layerGradient.setEndOpacity(255); 	//设置结束透明度
layerGradient.setContentSize(cc.size(800, 1280));  //设置大小                                  
this.addChild(layerGradient); 

效果如下 :


其中渐变方向可以参考以下数值 :

//0,0  : 上面 渐变到 下面
//0, 1  : 下面 渐变到 上面
//1,0  : 左边 渐变到 右边
//-1,0 :  右边 渐变到 左边
//1,1  : 左下 渐变到 右上
//-1,-1: 右上 渐变到 左下
//1,-1 : 左上 渐变到 右下
//-1,1 : 右下 渐变到 左上









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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值