module game {
/**
*Created by 渔歌烟火 on 2018/3/28.
* 字体缓动动画
*/
export class LabelEffect {
private static _instance:LabelEffect;
public static get instance():LabelEffect
{
if( null == LabelEffect._instance )
{
LabelEffect._instance = new LabelEffect();
}
return LabelEffect._instance;
}
/**
* @param target 显示对象
* @param options 例如{ time: 1500,initNum:100,num: 88888, regulator: 50 }
*/
public playEffect(target:any,options:any){
options = options || {};
if(options.initNum==options.num)return;
var time = options.time,//总时间--毫秒为单位
finalNum = options.num, //要显示的真实数值
regulator = options.regulator || 100, //调速器,改变regulator的数值可以调节数字改变的速度
step = (finalNum-options.initNum) / (time / regulator),/*每30ms增加的数值--*/
count = options.initNum, //计数器
initial = options.initNum;
var timer = setInterval(()=> {
count = count + step;
if(count >= finalNum&&options.initNum<finalNum) {
clearInterval(timer);
count = finalNum;
} if(count <= finalNum&&options.initNum>finalNum) {
clearInterval(timer);
count = finalNum;
}
//t未发生改变的话就直接返回
var t = Math.floor(count);
if(t == initial) return;
initial = t;
target.text = initial+"";
}, 30);
}
}
}

  调用:LabelEffect.instance.playEffect(target, { time: 1500, initNum: num, num: score, regulator: 50 })

twfont的更多相关文章

随机推荐

  1. 了解基本的bash shell命令

    本节内容主要介绍如何使用bash shell提供的基本命令处理Linux文件和目录: 1.启动shell shell是一个可以交互访问的Linux系统程序,它的运行与普通程序相同,系统启动的shell ...

  2. [原创]一种专门用于前后端分离的web服务器(JerryServer)

    如果你还不了解现在的前后端分离,推荐阅读淘宝前端团队的前后端分离的思考与实践 1.问题 随着现在整个软件开发行业的发展,在开发模式上逐渐由以前的一个人完成服务端和前端web页面,演变为前端和后端逐渐分 ...

  3. vue上传图片 base64+canvas压缩图片

    这是先将图片 base64转码 在拿canvas压缩的

  4. Java 学习(1)----- java 学习的总体感觉

    好久没有更新博客了,是因为最近在集中精力学习java, Java 的基础知识确实是比 js 多太多了. 学习java 断断续续的差不多有一年左右的时间, 这一年来,感觉懂了一点,过一段时间又忘记了,总 ...

  5. cesium-navigation 使用(非require,es6引用)

    cesium-navigation-es6(非require,es6引用) 为什么你建立cesium-navigation插件? 插件形式不影响之前项目使用,es6 使用 首先,所有的Cesiumjs ...

  6. linux 系统工具图

  7. 洛谷P3380 二逼平衡树

    线段树+平衡树 我!又!被!卡!常!了! 以前的splay偷懒的删除找前驱后继的办法被卡了QAQ 放一个在洛谷开O2才能过的代码..我太菜了.. #include <bits/stdc++.h& ...

  8. [洛谷P1419] 寻找段落

    一道单调队列的好题 传送门:>Here< 题意:求一个连续子段,其长度在\([S,T]\)之间,使其平均值最大.保留三位小数 解题思路 考虑二分答案,转化为判定问题.设当前二分到\(k\) ...

  9. Python unittest 测试输入(input)和输出(print)

    Python 自带的 unittest 库可以用来写单元测试. 测试输入输出的解决方法是: 将标准输入输出定向到一个StringIO类(python3是 io.StringIO). import un ...

  10. Linux keepalived工作原理

    keepalived简介与工作原理 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他 ...