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

开发游戏免不了实现一些看起来吸引人的需求 , 所以最近就做了一个飙血的动画,刚开始使用的链式,但是太多,效果也不好
cocos有自己的动作方法,你也可以使用Tween,知道实现方法就好
自带,参数只要写路径数组就好了 , 这边不说
代码

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

文章插图
//实现血量呈抛物线的tweenprivate 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、这个相对于中心点开始飙血,根据三个坐标行成一个运动的抛物线,看起来像往后抛东西
egret使用缓动Tween实现类似抛物线的效果

文章插图
2、从最小值逐渐趋于传入的参数,是闭区间
3、如果你不用负号,上面的y坐标只要按相反的来赋值就好了 , 上面的坐标为(3,7),(26,100),(43,-17) , 因为y值是越向下越大 , 而坐标不一样
【egret使用缓动Tween实现类似抛物线的效果】4、这是策划抄的别的游戏的表现让我实现的 (微笑)