本文主要是介绍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、这是策划抄的别的游戏的表现让我实现的 (微笑)
这篇关于egret使用缓动Tween实现类似抛物线的效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!