专栏名称: COCOS
Cocos引擎官方账号,第一时间为您送上引擎动态、精品教程、达人专访等干货,还会定期举办有奖活动喔!
目录
51好读  ›  专栏  ›  COCOS

戏说Creator UI---奎特尔星球上的英雄与魔灵

COCOS  · 公众号  ·  · 2017-08-11 00:00

正文

感谢『简书 ID: danniszhang 』友情提供

今天我们换种方式聊聊Creator的UI开发,目的是让游戏名词变得不那么枯燥。如果你也是一个热爱游戏的“圈内人士”,相信看完能感同身受。

奎特尔星球


奎特尔 星球上,有着无数的英雄,身怀绝世魔力,在创世之主统治下维护着奎特尔世界的安定与和平。

Node是忍者,尾兽是魔灵


Node英雄传

cc.Node是构建“奎特尔”星的基石,上至星体下至尘埃,无处不在,无论是可见的或不可见的,都由他们默默的支撑。

英雄在层级管理与场景编辑器


上图层级管理器和场景编辑器中,我们看到的都是英雄Node,请由我来逐一介绍:

  1. 名为Canvas的英雄,像盘古一样开天辟地化身出了一个世界,定义了世界的边界和范围;

  2. Background英雄,用自己的整个身体去美化这个世界(虽然只是单一的银白色);

  3. Advanced统帅着他的部队(子节点)构建出这个的世界功能;

  4. Top Left队长带领着勇士Label和Tips完成具体的任务;

  5. Label小英雄显示出小分队的名字;

  6. Tips小英雄显示出小分队的详细信息;


众多的Node英雄们不分大小、地位同心协作,创造出炫丽多彩的奎特尔星球。


魔灵

英雄最为骄傲的能力能是可以装佩各种神奇的魔(Component)。


魔灵附身的英雄


在UI开发中,魔灵们大至分为两类: 光与暗

光系魔灵

暗系魔灵

“奎特尔”星球上的魔灵是最具有魔力的生灵,他们也可以像Node英雄一样化出无数分身,并附身在Node上一起并肩作战,生死与共。

创世之主


通过编程改变世界


在地球上有一类人,他们可以通过“奎特尔引擎”创建出各种奇特的、丰富多彩的奎特尔星球,他们被称之为Cocos程序员,也称之为奎特尔星球的 创世之主


不论你是谁,只要你能驾驭 奎特尔引擎 ,与奎特尔的英雄、魔灵们建立起联接,你就能开创出一片新的世界。

英雄原力


英雄原力


要想成为奎特尔星求的创世之主,你需要了解Node英雄的一些能力和特性。

英雄三围

每一个node英雄都具有任意改变自身外型能力,以适应不同的生存环境,我们来看看英雄的三围参数。


Node有着控制自己外型尺寸的能力,通过上图我们一一介绍下这些属性。

  1. 输入框中可以为英雄取个名字(node.name),左边的复选框选中可以显示或隐藏英雄(node.active);

  2. Position:Node在二维世界中的位置(node.x、node.y、node.position);

  3. Rotation:旋转角度,范围0~360(node.rotation);

  4. Scale:缩放比例,可以根据宽、高缩放,值相同就是等比缩放(node.scale);

  5. Anchor:位置与旋转的基准点,中心点(0.5, 0.5)左下角(0,0),右上角(1,1),(node.anchor);

  6. Size:英雄的宽、高体型大小(node.width、node.height、node.getContentSize、node.setContentSize);

  7. Color:每一个英雄都是变色龙(node.color);

  8. Opacity:英雄可以将自己透明,范围0~255 (node.opacity);

  9. Skew:扭曲角度 (node.skew);


Node英雄除了上面这些可以在属性检查器中可以看到参数外,还有几个重要的属性只能由魔咒(代码)来控制:

  1. zIndex: Node英雄要冲锋在战场的最前面,就需要有足够大的zIndex值(node.zIndex);

  2. tag: tag是一个int属性的标签(tag、setTag、getTag),在父节点上可以使用getChildByTag获取子节点;

  3. isValid: 这是个只读属性,表示英雄是否还活着;

  4. parent: Node英雄之间通过parent建立父子关系,形成一颗树型结构;

  5. children: 一个Node小队长可以通过children获取他带领的小组成员;


英雄的感知能力


所有node都是感知型忍者


所有的英雄都能感知外界面对自己的指指点点,通过感知这些指指点点,英雄们可以做出让人叹为观止的各种反击,从而演绎现出一幕幕精彩纷呈的星球大战,感知力我将他们分为三类:

触摸事件、鼠标事件:最常用的有TOUCH_END


属性改变事件:当一个node英雄的属性发生变化时,他会发出信号。我们可以通过感知其它英雄的属性变化即时给予支援


自定义事件:创世之主可以自由定义事件,通过emit发送出去。


英雄会跳舞



Node是舞者,action是舞步


每一个Node英雄都是一个天然的舞者,只要呼唤他的runAction,他就会为你舞动奇迹。

在这里 node就是舞者,move To是舞步 ,而舞步需要由创世之主来编排。

舞步是英雄的必杀技能之一被称之为Action,由于篇幅我们以后专门介绍舞步的设计与编排,以及单人舞步、多人舞步,舞步同步等绝技。

魔灵附身


魔灵附身


英雄另一个超能力就是“魔灵附身”,英雄已然很强大,注入魔灵后的英雄才能真正上战场,魔灵与英雄建立联接有以下几种方法:

  • 利用奎特尔引擎,你可以直接召唤出装备有魔灵的英雄

  • 通过属性检查器为node添加注入魔灵

  • 使用魔咒(addComponent)为node注入魔灵

  • 创世之主还可以自己制造魔灵,将其附身在英雄身上


要成为奎特尔的创世之主,必须清楚英雄们的能力,并能灵活运用,组织他们相互协作,才能战胜敌人。


魔法英雄联盟






请到「今天看啥」查看全文