奎特尔的进化之路可追溯到远古可可思大陆,从可可思大陆上一直流传这样一句真言:

「英雄」是舞者,「安可心」是舞步

「英雄」是谁?英雄是Node,英雄就是你!
「安可心」为何物?不好意思,安可心其实是cc.Action,是我为他起的中文名字。之前我还给他起过:俺可行、安可行,感觉太俗了,「安可心」更贴切。

# 一、初识安可心

「安可心」可不是一个人,他是一个家族,迷踪舞步中的安可心大多是为英雄的属性而孕育的,其中绝大多数还是双胞胎。
- 英雄的位置(position):MoveTo、MoveBy,她们控制英雄的位移,是迷踪步的核心,需要的能量是位置(cc.p/cc.Vect2)。
- 英雄的旋转(rotation): RotateTo、RotateBy,这两姐妹控制英雄的转身,华丽无比,需要的能量是角度(Angle)。
- 英雄的缩放(scale): ScaleTo、ScaleBy,他们让英雄伸缩自如,有时如泰山压顶,有时突如其来,需要的能量是缩放比例(scale)。
- 英雄的隐形(opacity)能力:FadeTo现身、FadeOut隐身,相互配合让英雄若隐若现,Blink则是控制英雄时隐时现,奇幻无比。
- 英雄成为变色龙(color):TintTo、TintBy控制英雄的颜色过度,需要的能量是一个目标颜色(rgb值)。

以上「安可心」是实现迷踪步的核心,需要谨记于心。同时还有一些「安可心」是英雄位移的变种或增强:
- 跳跃:JumpTo、JumpBy
- 曲线:bezierBy、bezierTo
其中曲线位移是英雄舞步杀手锏,可惜Shawn也学的不好,在这里诚心呼唤高手,可以来奎特尔星球上讲讲bezier曲线!

二、链接安可心

我们在上面介绍了安可心家族迷踪步的核心成员,但具体怎么施展迷踪步呢?首先要记住,奎特尔发源地是可可思大陆,需要牢记:色色点是根基,例如:

cc.MoveTo、cc.ScaleTo

在色色点后面,大写字母是具体的安可心家族成员,而在真实战场上,通常是用的召唤术(工厂函数)呼唤的安可心分身(实例化):

//注意cc.MoveTo与cc.moveTo的区别
let moveTo = cc.moveTo(5, cc.p(100, 100));

cc.MoveTo是可娜丝的安可心化身,而cc.moveTo只召唤术,它召唤了cc.MoveTo的一个分身moveTo,具像化他是做的: new cc.MoveTo(…)

迷踪安可心还有一个重要的,特性是:

持续时间

任何一个舞步或动作其实都是英雄在一定时间内的空间与形态的变化,我们来看看具体的操作:

let moveTo = cc.moveTo(5, cc.p(100, 100));
node.runAction(moveTo);

此时不管node英雄在何处,在5秒内,他会移动到坐标x=100,y=100的位置上,runAction就是英雄舞动迷踪步的关键,通过它与安可心建立链接。

三、混元步法

我们知道通过英雄的runAction可以与安可心建立链接,但要同时与多个安可心链接怎么办呢?比如一边移动,一边旋转?

1. 并行诀

要实现这类舞步,就需要运用到迷踪混元步法中的:并行诀
并行诀cc.Spawn也是一个安可心,他可以将其她多个安可心打包起来,成为一个安可心,交给英雄,请看下面:

//3秒匀速移动到到坐标100,100的位置
let moveTo = cc.moveTo(3, cc.p(100, 100));
//3秒匀速旋转1080度(三圈)
let rotateTo = cc.rotateTo(3, 1080);
//并行诀:移动与旋转同时舞动
let spawn = cc.spawn(moveTo, rotateTo);
//执行并行诀安可心
node.runAction(spawn);

2. 串行诀

你肯定又要问,如果要移动后再旋转,旋转后再移动,这类舞步怎么做呢?这是**串行诀**cc.sequence解诀的问题。

//3秒匀速移动到到坐标100,100的位置
let moveTo = cc.moveTo(3, cc.p(100, 100));
//3秒匀速旋转1080度(三圈)
let rotateTo = cc.rotateTo(3, 1080);
//1秒后移动到150,150的位置
let moveToo = cc.moveTo(1, cc.p(150, 150));
//串行诀:先移动,再旋转,然后又移动
let sequence = cc.sequence(moveTo, rotateTo, moveToo);
//执行并行诀安可心
node.runAction(sequence);

3. 混元诀

将并行诀与串元诀,合理组合就形成了混元诀,例如:英雄一边移动一边旋转,此时动作完后,做一个缩放消失:

//3秒匀速移动到到坐标100,100的位置
let moveTo = cc.moveTo(3, cc.p(100, 100));
//3秒匀速旋转1080度(三圈)
let rotateTo = cc.rotateTo(3, 1080);
//并行诀:移动同时旋转
let spawn = cc.spawn(moveTo, rotateTo);
//3秒匀速缩小
let scaleTo = cc.scaleTo(3, 0);
//串行诀打包了一个并行诀与scaleTo
let sequence = cc.sequence(spawn, scaleTo);
//执行并行诀安可心
node.runAction(sequence);

混元诀的要义:

并行诀**Spawn和串行诀**Sequece相互嵌套包装,可以无限组合,完成无比复杂的舞步

四、行云流水

按理来说,将混元诀运用自如之后,就算进入就算是迷踪步入门了。

“我嚓!看了半天才算是入门”?

英雄们,请不要着急,要达到行云流水的境界还需要进一步的修炼,我们还有不少问题还没解诀。

 1. 分身诀与逆行诀

编排一段混元舞步需要念诵不少的咒语,如果想将这段舞步给另一个英雄,可通过**分身诀**clone一份出来。

//编排舞步
...
//使用串行诀打
let action1 = cc.sequence(...)
//使用action1的分身诀,生成action2
let action2 = action1.clone();
//node1与node2共同起舞
node1.runAction(action1);
node2.runAction(action2);

还有一种情况,需要将舞步按之前的顺序颠倒重来一遍,这时就需要用到**逆行诀**reverse

...
//串行诀:先移动,再缩放,最后旋转
let sequence1 = cc.sequence(moveTo, scaleTo, rotateTo);
//逆行诀:先旋转,再缩放,最后移动
let sequence2 = sequence.reverse();

上面的逆行sequence外,sequence中串行的安可心也会逆行,以前是放大的,现在是缩小,以前是向左移动,逆行会移动会原位。

分身诀与逆行诀本质上,都是安可心的分身,逆行诀将输入次序颠倒或取反执行,以得到来去自如的能力。

2. 根本停不下来?

思考一下:

如何与春晚的小彩旗比旋转?
如何与炫迈口香糖比谁更持久?

你可能想到下面的做法:

//看我的999大法
node.runAction(cc.rotateTo(99999999999, 99999999999));

不好意思,告诉你这是非常不科学的,数字再大总会有比你更大的。
这里就需要使用到repeat: 复重诀,为什么叫复重诀,不叫重复诀呢?因为我也不在道怎么取名字好,复重诀这样念起来更坳口一点,意思似乎更明确:“反复地重来”,让你不会忘记。

//旋转
let rotateBy = cc.rotateBy(1, 360);
//复重诀:将旋转重复99999999次
let repeat = cc.repate(rotateBy, 99999999);
node.runAction(repeat);

还是不解诀问题嘛,重复再多也干不过炫迈口香糖的“久到离谱”。
没关系,我们还有杀手锏,比看谁才离谱:真•复重诀 repeatForever

//旋转
let rotateBy = cc.rotateBy(1, 360);
//真•复重诀:这才叫根本停不下来
let repeat = cc.repeatForever(rotateBy);

不论是小彩旗还是炫迈,跟他们比持久都太没意思了,不论英雄怎么舞动,我们要求的是随心所欲,想停就停才是更高境界:

node.stopAction(action);

使用stopAction可以立即停止所指定的舞步,使用stopAllActions可中止英雄当前所有舞步,无需要指定舞步。

node.stopAllActions();

3. 行云流水

何为行云流水?云可散、水可断,云行水流英雄想怎样就怎样!
远处传来,可不可以不动,什么都不做呢?这个嘛,当然!DelayTime 懒人诀

//移动
let moveTo = ...
//懒人诀: 懒惰2秒
let delayTime = cc.delayTime(2);
//缩放
let scaleTo = ...
//串行诀:先移动、暂停、缩放
let sequence = cc.sequence(moveTo, delayTime, scaleTo);
node.runAction(sequence);

大风起兮云飞扬,微风拂面暧洋洋,之前的基础步法都是做的匀速运动,这个怎么破呢?哈哈最后必杀技:缓动诀 easeAction。
缓动诀是对基础步法安可心的修饰,将其从匀速运动调整为各种速率运动,大至分为

入•缓动诀、出•缓动诀、入出•缓动诀

//缓入、缓出式的位移,令人欲罢不能
let moveTo = cc.moveTo(3, cc.p(100, 100)).easeInOut(3.0));
node.runAction(moveTo);

缓动诀有很多,这里不一一举例了,在实际战斗中需要多多尝试。

4. 逍遥诀

英雄的迷踪步就介绍完了,迷踪步的核心是安可心舞步,与几个重要的步诀:

并行诀、串行诀、混元诀、分身诀、逆行诀、复重诀、真•复重诀、懒人诀、缓动诀

灵活运用基础步法,配合这些步诀就可以让英雄独步舞林了。对叫独步舞林了,就是说能是一个人跳舞,如果要在自己舞完后,接上下一个英雄,自己去逍遥快活,这里还需要一个逍遥诀: cc.callFunc

...
//逍遥诀:将后续舞步传导下去
let callFunc = cc.callFunc(() =>{...let action = ...node2.runAction(action);
});
//将逍遥诀放在最后
let sequence = cc.sequence(..., callFunc);
//当sequence执行完后,node2出场
node1.runAction(sequnece);

逍遥诀除了可以与其他英雄建立链接外,还可以用于执行其它事件通知等,奥妙无穷,存乎一心!

这次就到这里,希望我的分享望能让你舞动起来!


欢迎关注「奎特尔星球」微信公众号,有代码、有教程、有视频、有故事,等你一起来奎特尔星球玩耍!

英雄之舞—迷踪“安可心”相关推荐

  1. 英雄之舞 | 迷踪“安可心”

    奎特尔的进化之路可追溯到远古可可思大陆,从可可思大陆上一直流传这样一句真言: 「英雄」是舞者,「安可心」是舞步 「英雄」是谁?英雄是Node,英雄就是你!俺可行.安可行,感觉太俗了,「安可心」更贴切. ...

  2. 英雄!「安可心」请你跳支舞

    工程源码:请在公众号中回复[action]获取工程代码. 在线演示:http://example.creator-star.cn/action-demo 你可以点击[阅读原文]在手机上体验 Creat ...

  3. 英雄之舞—凌波微步(利用async.js编写异步动画)

    凌波微步有云: 此步法精妙异常,习者可以用来躲避众多敌人的进攻,此外「凌波微步」每踏出一步,都与内力息息相关,决非单是迈步行走而已,若无内功根基之人,将「凌波微步」强行走将起来,会造成自绝经脉的危境. ...

  4. 英雄联盟祖安服务器位置,LOL“4区版英雄联盟”:城区有2个,郊区有2个,山区有1个...

    相信对于很多联盟里的老玩家肯定都知道,LOL这款游戏自从上线以后,已经经历了10年的改版,基本上每一次改版都会有英雄重做,有技能调整有地图更新,然而就在这10年里面,有一点却没有改变,那就是联盟里面的 ...

  5. 英雄联盟祖安服务器位置,《英雄联盟》祖安大区将开冠军杯赛全量测试 5月9日开战...

    今日,<英雄联盟>官方发布了"关于祖安大区开启冠军杯赛全量测试的说明",2020年5月9日-5月10日(比赛日)将会在祖安大区展开全大区全量测试. 说明原文: 英雄联盟 ...

  6. 英雄联盟祖安服务器位置,英雄联盟《王者峡谷》全民线上海选赛报名开启

    原标题:英雄联盟<王者峡谷>全民线上海选赛报名开启 2016<王者峡谷>即将战火重燃.本年度<王者峡谷>报名通道将于6月8日开启.比赛将从7月持续到8月31日.王者 ...

  7. 英雄联盟祖安服务器位置,LOL公认的喷子大区,祖安大舞台,有“妈”你就来

    九零出品,必属精品 前言:是强者就来祖安"逼逼赖赖" 在英雄联盟刚刚开服时,服务器只有两个,艾欧尼亚和比尔吉沃特,分别对应着电信和网通大区,游戏界面属于欧美中世纪的复古风.不断有新 ...

  8. 英雄联盟祖安服务器要维护多久,英雄联盟29个大区特点,黑色玫瑰妹子最多,祖安区被误传为喷子区...

    文 /筱文聊电竞 英雄联盟在国服也已经运营了10年之久,到现在国服总共有29个大区,总共包括为19个电信区,7个网通区和3个其他大区,分别是男举领域,教育网专区和峡谷之巅.而这么多区经过这么长时间的发 ...

  9. 英雄联盟祖安服务器要维护多久,英雄联盟会合区吗?如果不合区这些“郊区”的玩家怎么办?...

    随着英雄联盟上线的时间越来越久,曾经的老玩家也很多已经成家立业,几乎顾不上玩游戏,曾经火爆一时的大区现在打个游戏都要等上几分钟,甚至更久.面对这样的情况,英雄联盟会做出什么样的选择呢?今天我们就来分析 ...

最新文章

  1. 未来社会是什么样子的?您猜对了吗?
  2. python opencv图像对比度增强_图像增强、锐化, Python-OpenCV 来实现 4 种方法!
  3. oracle sql条件语句,谁能介绍下Oraclesql之条件语句?
  4. mysql关系模式怎么画_关系数据库与mysql
  5. 2038: [2009国家集训队]小Z的袜子(hose)
  6. vs2017 cmake android,CMake构建VS2017工程
  7. android 开发art,Android应用开发之Android 系统启动原理(art 虚拟机)
  8. Oracle存储过程介绍
  9. 登录之回车登录和记住密码
  10. Android Studio设置,鼠标放上去有提示
  11. php mysql账号注册_php mysql用户注册登陆代码_PHP教程
  12. MATLAB处理txt文档数据——以处理pscad输出数据为例
  13. C语言从入门到精通——初阶6 指针
  14. 携手业内专家赋能AI时代--EpiK铭识协议发起开源知识运动
  15. BZOJ 3097 Hash Killer I
  16. java.util.zip.ZipException: invalid code lengths set解决办法
  17. 澳门上葡京综合度假村冬季献礼迎佳节
  18. 自带的richedit控件显示图片文字(仿QQ聊天内容文字图片)
  19. 经典布局(flex和传统两种实现)—左中右三栏式
  20. js 天花板 playcanvas

热门文章

  1. package ‘gdm‘ has no installation candidate
  2. 优恩-关于ESD管(ESD静电二极管)的产品特性
  3. XUPT_STA2018(部分题解)
  4. Android Studio数据永久保存——SharedPreferences
  5. org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connec
  6. 2016年上市新SUV斯柯达kodiaq大气造型
  7. DevExpress WinForms Controls v22.1 beta版来袭,上车
  8. 论文阅读《Fast-MVSNet: Sparse-to-Dense Multi-View StereoWith Learned Propagation and Gauss-Newton Refine》
  9. 基于GEC6818开发板的相册
  10. 每日一词20190308——大地水准面(geoid)