放慢补间动画
Slowing down an animation tween
我创建了一个函数,可以将图形添加到 canvas 舞台并通过补间对其进行动画处理,等待几毫秒然后生成另一个图形
有些事情我可以借助一些帮助来完成,
首先,我需要在资产以正常速度播放几秒钟后将其减速至停止(我正在为道路中间的线条设置动画)
其次当动画开始时屏幕上没有任何东西,因为它们是道路标记必须在开始时显示一些东西
以及关于我如何在动画完成后删除每个项目的任何想法
这是我目前所拥有的
//this is called from the tick handler
function lines(){
duration = 1000;
spawnCounter--;
console.log(spawnCounter)
if(spawnCounter == 0){
spawnCounter = sNum//20
bolt = new lib.Bolt();
bolt.x=280
bolt.y = 120;
bolt.rotation = -66;
stage.addChild(bolt);
createjs.Tween.get(bolt).to({x:0,y:0, scaleY:.6, scaleX:.6},duration)
}
}
删除补间末尾的项目非常简单:
createjs.Tween.get(bolt)
.to({x:0,y:0, scaleY:.6, scaleX:.6}, duration)
.call(function(event) {
stage.removeChild(bolt);
});
按照您制作的方式放慢整个动画可能会很棘手,因为您可能希望资产以相同的速度放慢速度,所以您不能只更改补间的持续时间。您可能想考虑不为动画使用补间动画,而只是控制勾选中的 "visible" 项目,并在它们太远时将其移除。
我创建了一个快速示例来展示它是如何工作的。
http://jsfiddle.net/wj15awj4/
- 在某个 "distance" 过去后生成项目
- 移除超过边缘的项目
- 根据位置对项目进行缩放和 alpha。比例有点奇怪,因为这条路没有透视。使用 CSS 或 WebGL 转换 canvas 会更好地解决这个问题。
单击道路时,"speed" 向下补间(或向后补间),并且由于项目是根据 "distance" 经过多少创建的,因此它们将继续创建以大致相同的速度,尽管随着时间的推移移动速度变慢。
希望对您有所帮助!
我创建了一个函数,可以将图形添加到 canvas 舞台并通过补间对其进行动画处理,等待几毫秒然后生成另一个图形
有些事情我可以借助一些帮助来完成,
首先,我需要在资产以正常速度播放几秒钟后将其减速至停止(我正在为道路中间的线条设置动画)
其次当动画开始时屏幕上没有任何东西,因为它们是道路标记必须在开始时显示一些东西
以及关于我如何在动画完成后删除每个项目的任何想法
这是我目前所拥有的
//this is called from the tick handler
function lines(){
duration = 1000;
spawnCounter--;
console.log(spawnCounter)
if(spawnCounter == 0){
spawnCounter = sNum//20
bolt = new lib.Bolt();
bolt.x=280
bolt.y = 120;
bolt.rotation = -66;
stage.addChild(bolt);
createjs.Tween.get(bolt).to({x:0,y:0, scaleY:.6, scaleX:.6},duration)
}
}
删除补间末尾的项目非常简单:
createjs.Tween.get(bolt)
.to({x:0,y:0, scaleY:.6, scaleX:.6}, duration)
.call(function(event) {
stage.removeChild(bolt);
});
按照您制作的方式放慢整个动画可能会很棘手,因为您可能希望资产以相同的速度放慢速度,所以您不能只更改补间的持续时间。您可能想考虑不为动画使用补间动画,而只是控制勾选中的 "visible" 项目,并在它们太远时将其移除。
我创建了一个快速示例来展示它是如何工作的。 http://jsfiddle.net/wj15awj4/
- 在某个 "distance" 过去后生成项目
- 移除超过边缘的项目
- 根据位置对项目进行缩放和 alpha。比例有点奇怪,因为这条路没有透视。使用 CSS 或 WebGL 转换 canvas 会更好地解决这个问题。
单击道路时,"speed" 向下补间(或向后补间),并且由于项目是根据 "distance" 经过多少创建的,因此它们将继续创建以大致相同的速度,尽管随着时间的推移移动速度变慢。
希望对您有所帮助!