补间效果完成后如何调用函数。请仔细阅读此代码。我单击开始后立即出现箭头标记。我不希望这种事发生。我希望在开始按钮上补间完成后出现箭头标记。指出我哪里出错了。
createjs.Tween.get(start_button,{loop:false},true)
.to({y:-436,alpha:0},800,createjs.Ease.get(1)).call(function()
{
l_s.visible=true;
var arrow_left=new ARROWS(arrowLeft,200,500);
createjs.Tween.get(cent_cont,{loop:false},true)
.to({alpha:1},1000,createjs.Ease.get(1))
.wait(3000).call(function()
{
stage.addChild(arrow_left);
stage.update();
})
})
l_s,cent_cont 是形状对象(与我所要求的无关,所以不要打扰)。 arrowLeft 是我单击 start_button 后立即出现的对象。
最佳答案
我根据您的代码为您制作了一个 fiddle :http://jsfiddle.net/959TT/5/
您缺少的是:
createjs.Ticker.addEventListener("tick", function(){stage.update(event);});
这条线导致舞台不断更新(就像电影中的帧一样)。
就您而言,您仅在两个补间完成后才更新舞台,因此看起来在此之前什么也没有发生。
更新阶段可能是一项成本高昂的操作,因此您可以考虑根据情况添加和删除“tick”监听器,如下所示:
function tickHandler(event){
stage.update(event);
}
当你需要补间动画时:
createjs.Ticker.addEventListener("tick", tickHandler);
所有动画完成后:
createjs.Ticker.removeEventListener("tick", tickHandler);
stage.update(); // to make sure everything is drawn
编辑:为了清楚起见,我已经更新了 fiddle ,而且事实证明您需要在删除“tick”监听器后再次调用 stage.update() 一次。
关于easeljs - 如何在对象上完成补间效果后调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22757236/