egret使用缓动Tween实现类似抛物线的效果

开发游戏免不了实现一些看起来吸引人的需求,所以最近就做了一个飙血的动画,刚开始使用的链式,但是太多,效果也不好

cocos有自己的动作方法,你也可以使用Tween,知道实现方法就好

TweenMax自带bezier,参数只要写路径数组就好了,这边不说


代码
//实现血量呈抛物线的tween
private doTween(){
	egret.Tween.get(this).to({ scaleX: 2.2, scaleY: 2.2, alpha: 1 }, 80)
		.to({ scaleX: 0.9, scaleY: 0.9, parabola: 1, alpha: 0.7 }, 650)
		.call(this.tweenComplete, this, []);
}	
		
public get parabola(): number {
	return 0;
}

//运动的是血量字体
//因为有一些暴击什么的图片,所以只缓动多少看你实际情况
public set parabola(num: number) {
	this.bitmapText.x = (1 - num) * (1 - num) * 3 + 2 * value * (1 - num) * 26 + num * num * 43;
	this.bitmapText.y = (1 - num) * (1 - num) * (-7) + 2 * value * (1 - num) * (-100) + num * num* 17;
}

稍微说一下

1、这个相对于中心点开始飙血,根据三个坐标行成一个运动的抛物线,看起来像往后抛东西
2、从最小值逐渐趋于传入的参数,是闭区间
3、如果你不用负号,上面的y坐标只要按相反的来赋值就好了,上面的坐标为(3,7),(26,100),(43,-17),因为y值是越向下越大,而坐标不一样
4、这是策划抄的别的游戏的表现让我实现的 (微笑)


维尼聚合工具


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值