scalekeli2008unscale是什么意思

很久以前,做了一个关于旅游景区的项目,要求在等待页面实现一个炊烟袅袅升起的效果,本来是没有这个的,鬼知道我们的ios大神(坑货)从哪找来的,我们项目经理一看非常满意,要我们也加一个!(团队有这样的大神(坑货)都是泪啊!!!)。
& & & & & & & & & & & & & & & & & & & & & & & & & & & & &&
(擦干泪,该干的还是要干)首先看这个炊烟,从下往上不间断的旋转上升并且有颜色渐淡的效果,这里至少用到了动画的scale、rotato、alpha三种效果,但是再仔细看发现炊烟的运动轨迹是不规则的,所以使用补间动画是不可能完成的,那么就只有帧动画了,但是我们可怜的ui不会做,于是问了下大神,结果顺便甩过来一张图片
&(这个图是白色的,调成灰色是为了和背景区分开)
并且曰了句:“你搜一下粒子效果”。
于是乎,在我们所熟悉的view动画和属性动画之外,我又发现了一项粒子动画,粒子动画在html和flash方面早有应用,专门用于处理一些包含颗粒状图形并且不规则运动的拟物动画,包括雪花啦,雨滴啦,雾气啦,烟花啦等等效果,在github上搜了半天,终于功夫不负有心人,找到了一个专门做粒子效果的库。
这个粒子库只有81kb,,而且使用起来非常方便,首先把下载下来的jar包放入lib中,然后在你工程的build.gradle中配置
dependencies {
compile 'com.plattysoft.leonids:LeonidsLib:1.3.1'}
在activity_main.xml中设置一个背景,在烟囱的位置设置一个view,
下面是代码部分,根据库的官方文档来看,库的可变性非常强,根据不同的方法所产生的效果也是千差万别,所以在剔除所有的效果前,我们先从最主要的开始看
new ParticleSystem(this, 10000, R.mipmap.startup_smoke, 5000).emit(tvSmoke, 50);
public ParticleSystem(Activity a, int maxParticles, int drawableRedId, long timeToLive) {
this(a, maxParticles, a.getResources().getDrawable(drawableRedId), timeToLive, );
第一个参数是activity,第二个是最多的粒子数,第三个是粒子的图片资源,第四个是持续时间,毫秒制,默认持续时间结束后会从开始重复。
public void emit(View emiter, int particlesPerSecond) {
this.emitWithGravity(emiter, 17, particlesPerSecond);
第一个参数为view,view的位置即为粒子效果产生的位置,当然后面还可以设置偏移量,第二个为每秒所产生的粒子数量,这个参数和持续时间的乘积不应当小于最多粒子数,否则动画就会断片。
下面是一些方法的探究
setAcceleration(float acceleration, int angle):规定了粒子运动的加速度和方向;
setRotationSpeedRange(float
minRotationSpeed, float maxRotationSpeed):粒子运动的最小和最大的旋转角度
setFadeOut(long
duration):淡出的区间,默认从不透明到完全透明
setScaleRange(float
minScale, float maxScale):缩放的区间,这与补间动画类似
另外还有一个修饰器,可以对常用动画进行修饰
addModifier(ParticleModifier
modifier),可以修饰的动画有:
AlphaModifier
(int initialValue, int finalValue, long startMilis, long endMilis)
AlphaModifier
(int initialValue, int finalValue, long startMilis, long endMilis, Interpolator interpolator)
ScaleModifier
(float initialValue, float finalValue, long startMilis, long endMilis)
ScaleModifier
(float initialValue, float finalValue, long startMilis, long endMilis, Interpolator interpolator)
除了上述当中的方法,jar包中还包含了其他的很多,实际当中,大家可以自行调试就理解这些方法的用途和效果,这里就不一一例举了。
通过一系列的调试,最终实现效果的代码如下
&span style=&font-size:18&&new ParticleSystem(this, 500, R.mipmap.startup_smoke, 5000)
.setAcceleration(0.00003f, 270)
.addModifier(new ScaleModifier(0, 1.2f, ))
.setFadeOut(5000)
.setRotationSpeedRange(0, 180)
.emit(tvSmoke, 50);&/span&
代码非常简单,关键是在实际当中,大家要有耐心去探讨,去调试,这里只是给出了实例,具体效果在不同的手机当中可能会有差异,大家根据实际情况自行调试。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:616次
排名:千里之外人人网 - 抱歉
哦,抱歉,好像看不到了
现在你可以:
看看其它好友写了什么
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&自立人格量表简介_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
自立人格量表简介
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢土体颗粒破碎度量方法及其进展_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
土体颗粒破碎度量方法及其进展
上传于||文档简介
&&土​体​颗​粒​破​碎​度​量​方​法​及​其​进​展
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 web scale是什么意思 的文章

 

随机推荐