Возможно, простой, я оживляюсь по искривленному пути и хотел применить смягчающий профиль, который облегчает первую половину анимации, и во второй половине. Таким образом, быстрый, медленный профиль, например, мяч был выброшен в воздух, если это имеет смысл?Как добиться эффекта баллистического ослабления в TweenJS
Варианты ослабления, перечисленные в TweenJS Spark Table, содержат некоторые, которые в значительной степени противоположны тому, что я ищу; например, кубический. Используя предыдущее (плохое) описание, это будет медленно-медленным.
Я могу, конечно, достичь этого, цепляя подростки, используя различное ослабление, но это не кажется таким чистым, и в этом случае пауза должна быть решена для этого приложения.
Пример, показывающий кубик в верхней части и цепочки с помощью кубика, затем кубический снизу, чтобы достичь близкого к тому, что мне нужно.
var stage = new createjs.Stage("canvas");
createjs.Ticker.addEventListener("tick", tick);
createjs.MotionGuidePlugin.install();
var shape1 = new createjs.Shape();
shape1.graphics.f("#000000").dc(0,0,10);
var shape2 = shape1.clone();
var path1 = new createjs.Shape();
path1.graphics.beginStroke("#ff0000").mt(0,100).qt(200,0,400,100);
var path2 = path1.clone();
path2.y = 100;
stage.addChild(path1, path2, shape1, shape2);
createjs.Tween.get(shape1).to({guide:{ path:[0,100, 200,0, 400,100] }},2000, createjs.Ease.cubicInOut);
createjs.Tween.get(shape2).to({guide:{ path:[0,200, 100,150, 200,150] }},1000, createjs.Ease.cubicOut).call(function(){
createjs.Tween.get(shape2).to({guide:{ path:[200,150, 300,150, 400,200] }},1000, createjs.Ease.cubicIn);
});
function tick(event) {
stage.update();
}
Fiddle с этим примером.
Просто интересно, есть ли более чистый способ достичь этого без необходимости цепочки твинов и без паузы на вершине кривой? Уравнение ослабления кажется самым простым, но я не уверен, как бы я это сделал. Любые мысли были бы оценены.
Большое спасибо,
Baps.
Это почти то, что мне нужно. Большой инструмент тоже для генерации функции. Спасибо, skobaljic! – Baps