(五)、“仙剑出鞘”---飞剑的发射及轨迹

主要代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
start_move_feijian(){
console.log('mFeiJian move')
// 将cocos 的一些基本操作练习一遍
this.mFeiJian.position = new cc.Vec3(0,0,0);

this.mFeiJian.getComponent("feijian").is_flying = true


// // 画贝塞尔曲线
this.point1 = cc.v2(this.mZhunXin.position.x*3,600)
this.point2 = cc.v2(this.mZhunXin.position.x*2,2100)
let endPoint = cc.v2(this.mZhunXin.position.x,750)
let ddd = this.mFeiJian.runAction(

cc.sequence(
cc.spawn(cc.rotateBy(1, 360), cc.bezierTo(1, [this.point1, this.point2, endPoint]) ),
cc.moveTo(1,this.mZhunXin.position.x,0),
// 执行完成动作后回调
cc.callFunc(this.isGameOver,this)
)
);

}

主要涉及的cocos函数

1、cc.Vec3

position的坐标在最新版本中都用cc.Vec3

2、cc.v2

二维坐标

3、this.node.runAction

运行动作

4、cc.sequence

按顺序执行动作

5、cc.spawn

多个动作同时间进行

6、cc.rotateBy

翻转

7.cc.moveTo

移动

8、cc.bezierTo

按贝塞尔曲线轨迹运行

9、cc.callFunc

回调函数