twfont
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的更多相关文章
随机推荐
- 深入学习:Windows下Git新手教程(上)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangyabin001/article/details/35557231 一,安装Git: 1.1 ...
- 【js】字符串方法
let str = 'na'; console.log(str.repeat('3'));//nanana console.log(str.startsWith('n'));//true consol ...
- Java 7 和 Java 8 中的 HashMap原理解析
HashMap 可能是面试的时候必问的题目了,面试官为什么都偏爱拿这个问应聘者?因为 HashMap 它的设计结构和原理比较有意思,它既可以考初学者对 Java 集合的了解又可以深度的发现应聘者的数据 ...
- 使用Builder模式创建复杂可选参数对象
在新建对象时,若需要对大量可选参数进行赋值,最常见的做法是JavaBeans模式,即调用一个无参构造方法创建对象,然后调用setter方法来设置每个必要的参数,以及每个相关的可选参数.代码示例如下: ...
- flask轻量级框架入门
# -*- encoding: utf-8 -*- #导入Flask类, 导入重定向,url_for是简易寻址跳转, from flask import Flask,redirect,url_for, ...
- MySQL数据库执行计划(简单版)
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库执行计划简单版时间:2019年2月25日内容:MySQL数据库执行计划简单版重点:MySQL ...
- Charles抓包工具使用
Charles抓包工具使用和进行接口数据模拟 打开软件,选择Tools >> Map Local >> 勾选enable >> add >> ...
- [蓝桥杯]2017蓝桥省赛B组题目及详解
/*——————————————————————————————————————————————————————————— [结果填空题]T1 (分值:5) 题目:购物单 小明刚刚找到工作,老板人很好 ...
- h5手机查看
1.装个node:2.全局装个anywhere的npm包.(npm i -g anywhere)3.大功告成,现在到任意目录下用命令行执行anywhere就可以:(-p 参数可以设置启动端口) 补充: ...
- JS继承以及继承的几种实现方式总结
传统面向对象语言:继承是类与类之间的关系. 而在js中由于es6之前没有类的概念,所以继承是对象与对象之间的关系. 在js中,继承就是指使一个对象有权去访问另一个对象的能力. 比如:比如对象a能够访问 ...