我现在正在开发一个功能,可以创建几乎任何我能想象到的图形或特殊效果(假设我有一两个基本的movieClip),但我遇到了一个问题。我需要能够根据传递给 GraphicEffect 函数行为对象的参数向效果movieClip 添加函数。有没有一种有效的方法可以在现有的 onEnterFrame 函数中添加新的函数,如旋转、增长、收缩等,而不需要在其中放置 if 语句?
问问题
976 次
2 回答
2
是的,有办法。
我不确定你是如何设置你的行为对象的,但假设它类似于 {A:spin,B:grow,C:fade} 你可以为你的效果动画剪辑实现一个附加功能(我只是调用它'fx')通过使用以下代码样式:
fx.TempA=fx.onEnterFrame;
function NewA(){fx.TempA();behaviors.A(fx);};
fx.onEnterFrame=function(){NewA();};
fx.TempB=fx.onEnterFrame;
function NewB(){fx.TempB();behaviors.B(fx);};
fx.onEnterFrame=function(){NewB();};
fx.TempC=fx.onEnterFrame;
function NewC(){fx.TempC();behaviors.C(fx);};
fx.onEnterFrame=function(){NewC();};
于 2012-08-24T10:18:41.403 回答
0
不一样的方式
mcFX.enterFrameFunctions = [];
mcFX.onEnterFrame = function(){
for(var i in this.enterFrameFunctions) this.enterFrameFunctions[i]();
}
function a():Void {
trace("a called");
}
function b():Void {
trace("b called");
}
function c():Void {
trace("c called");
}
mcFX.enterFrameFunctions.push(a, b);
于 2012-08-24T13:52:46.950 回答