Laya的Tween缓动没有初始化repeat导致的Bug

当你使用一个Tween给一个图标做旋转动画,循环播放。(repeat是播放次数, repeat=0无限循环,repeat=1播放一次)

Laya.Tween.to(this.light,{rotation:360},2000).repeat = 0;

然后你打开一个Dialog,很有可能这个Dialog会无限播放打开动画....

Laya.Dialog.open(game/TestDialog.scene);

 

原因是Tween是放在对象池里的,从对象池取出来时没有初始化repeat,当播放Dialog动画时拿到的Tween有可能就是那个无限循环的Tween。

laya.core.js, Tween.to从对象池拿Tween对象

laya.core.js,  Tween初始化时,没有重置repeat。

所以我加了一行重置repeat

原文地址:https://www.cnblogs.com/gamedaybyday/p/11613925.html

时间: 2024-10-09 08:18:51

Laya的Tween缓动没有初始化repeat导致的Bug的相关文章

jQuery Tween缓动算法

参考:Javascript Tween算法及缓动效果 做了个简单的插件,以后慢慢重构: /** * * 描述:javascript缓动 * jQuery Tween算法:算法来源:http://www.robertpenner.com/easing/ * @author:xuzengqiang * @since :2015-1-23 11:17:51 * 两种比较复杂的没有收录进来 * Elastic:指数衰减的正弦曲线缓动: * Back:超过范围的三次方缓动((s+1)*t^3 - s*t^

tween 缓动动画

在讲tween类之前,不得不提的是贝塞尔曲线了.首先,贝塞尔曲线是指依据四个位置任意的点坐标绘制出的一条光滑曲线.它在作图工具或动画中中运用得比较多,例如PS中的钢笔工具,firework中的画笔等等.无论运用在哪里,它们的原理都是一样的.同样,在用js实现运动效果时,我们也可以利用贝塞尔曲线来实现不同的特效,而tween.js就是一个封装好的计算辅助算法.你可以通过连续输入多个值,然后利用贝塞尔曲线公式输出不同的值,最终形成了一条光滑的曲线.因为一条曲线上的值的不一样的,所以我们可以利用曲线的

AS2 tween缓动

stopTween.stopTween("_x"); startTween(viewMc["Masked"], "_x", null, now_x, nowIndex * pageWidth, 0.3, true); private function startTween(taget:MovieClip,r:String, math:Function, s:Number, e:Number, t:Number, tf:Boolean){ this

Tween + 缓动函数

iTween: iTween大解构(一)之抛物线移动 http://blog.csdn.net/moonagent/article/details/10003819

缓动函数

/* * Tween.js * t: current time(当前时间) * b: beginning value(初始值) * c: change in value(变化量) * d: duration(持续时间) */ var Tween = { Linear: function(t, b, c, d) { return c*t/d + b; }, Quad: { easeIn: function(t, b, c, d) { return c * (t /= d) * t + b; },

window.requestAnimationFrame与Tween.js配合使用实现动画缓动效果

window.requestAnimationFrame 概述 window.requestAnimationFrame()这个方法是用来在页面重绘之前,通知浏览器调用一个指定的函数,以满足开发者操作动画的需求.这个方法接受一个函数为参,该函数会在重绘前调用. 注意: 如果想得到连贯的逐帧动画,函数中必须重新调用 requestAnimationFrame(). 如果你想做逐帧动画的时候,你应该用这个方法.这就要求你的动画函数执行会先于浏览器重绘动作.通常来说,被调用的频率是每秒60次,但是一般

利用tween.js算法生成缓动效果

在讲tween类之前,不得不提的是贝塞尔曲线了.首先,贝塞尔曲线是指依据四个位置任意的点坐标绘制出的一条光滑曲线.它在作图工具或动画中中运用得比较多,例如PS中的钢笔工具,firework中的画笔等等.无论运用在哪里,它们的原理都是一样的.同样,在用js实现运动效果时,我们也可以利用贝塞尔曲线来实现不同的特效,而tween.js就是一个封装好的计算辅助算法.你可以通过连续输入多个值,然后利用贝塞尔曲线公式输出不同的值,最终形成了一条光滑的曲线.因为一条曲线上的值的不一样的,所以我们可以利用曲线的

requestAnimationFrame之缓动的应用

之前需要使用的定时器的时,立马想到的是setInterval(),用着用着就成为习惯,并没有遇到什么不妥之处.习惯性的操作往往容易让一个人拒绝尝试一些其他的方法.现在的方法用得好好的,没事干啥找其他法子. 摈弃习惯性操作的思想,没事还真得去尝试一些新方法,不然整天敲一样的代码不无聊么? 对于requestAnimationFrame这个东东,其实很早就知道了,但是也就只是局限于'知道'而已. 直到后面的项目中,在写一个关于榜单滚动的模块,开始当然用的还是setInterval(),榜单列表每秒向

NGUI学习笔记(五):缓动

在Unity3D中可以使用自带的Animation制作任意形式的动画,不过我们这篇笔记主要是学习和使用NGUI提供的Tween动画.NGUI提供的Tween库功能较为简单,主要是用来实现NGUI自身需要的一些缓动效果,同时我们也可以使用NGUI的Tween来实现一些简单的动画效果. Tween组件 我们选中添加到舞台的任意UI组件右键就能看到添加Tween的菜单,如图: 我们通过选择添加对应的缓动组件就可以添加对应的缓动效果了,下面先简单的看一下NGUI提供的缓动组件的功能: Alpha:透明度