在JS中缓和精灵动画
Easing a sprite animation in JS
我已经用香草JS制作了我的精灵表动画,通过以固定的FPS移动背景位置,使用requestAnimationFrame和setTimeout来设置帧速率。
最终,我想用一条缓和曲线来设置它的动画,比如QuadInOut,或者更好的是用一条自定义曲线。我看过的大多数框架都在它们的tween函数中内置了它们的轻松功能,而不是用于动画精灵表。
有人能提出一个JS框架吗?GSAP还是Enchant?或者通过缓和曲线解释更新fps背后的逻辑?
这是我目前的"线性"动画:
var theSprite= $('.sprite');
var timesRun = 0;
var shift = 0;
var fps = 20;
var anim = function() {
setTimeout(function() {
shift -= 520;
theSprite.css('background-position', shift +'px 0');
timesRun += 1;
if(timesRun === 19) {
timesRun = 0;
shift = 0;
}
animAgain = requestAnimationFrame(anim);
}, 1000 / fps);
}
anim();
Enchant.js有几种不同的精灵动画方式。如果您在此处查看附魔.时间轴类http://wise9.github.io/enchant.js/doc/plugins/en/symbols/enchant.Timeline.html它有一些不同的功能,可以用不同的方式缓解精灵。
我想你一定会喜欢KineticJS的。它就像一种魅力,是为你想要做的事情而设计的。
请参阅:HTML5 Canvas KineticJS精灵教程
相关文章:
- 打字精灵动画
- 在EaselJS中设置精灵表动画时出现问题
- 如何使用Javascript创建带有精灵表的动画按钮
- 动画与精灵HTML5
- 使用HTML5和JavaScript创建精灵动画
- 在JS中缓和精灵动画
- GameClosure:精灵动画
- 使用 SpriteStage (WebGL) 创建 EaselJS 精灵动画
- 如何确定动画精灵何时到达某个点
- 如何在 javascript 中减慢我的精灵表动画
- EaselJS 精灵表动画在画布上不可见,但没有错误
- 游戏中的JavaScript精灵动画
- 仅在鼠标悬停时播放精灵动画
- 控制精灵动画速度
- CS精灵动画
- 如何在精灵上更改精灵动画的速度
- 如何让这些精灵动画在Firefox中工作
- 预加载程序与精灵动画
- 我如何用不同的按钮制作不同的精灵动画?(HTML / CSS)
- 同时运行多个Javascript png精灵动画