我試圖在rollOut和rollOut消失時使用發光效果創建一些影片剪輯。但是,當rollOut完成後,我應用過濾器的背景動畫片段(一個簡單的20 x 20矢量圓圈)突然出現鋸齒狀,在rollOver/rollOut之前它看起來應該是平滑的。這裏會發生什麼?GlowFilter和其他一些問題後,矢量形狀出現鋸齒狀
我很新的AS3,因此該示例尚未正常工作。例如:
*當您第一次翻轉該項目時,它立即顯示發光的結束階段而不是動畫。我以爲我會在構造函數中用Tween.rewind()繞開這個問題,但那並不能解決問題。 *我也不確定是否將TweenEvent.MOTION_CHANGE的addEventListener放置在正確的位置。我試圖把它放在構造函數中,但這導致事件被_onMotionChange連續接收。
對這些問題的一些幫助非常感謝。但最重要的部分是輝光濾波器消失後的鋸齒狀的圓。
這是我迄今爲止(簡稱爲例):
package
{
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.filters.GlowFilter;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
public class ScoreListItem extends MovieClip
{
private var _glowFilter:GlowFilter;
private var _tweenGlowFilterBlurX:Tween;
private var _tweenGlowFilterBlurY:Tween;
public function ScoreListItem():void
{
_glowFilter = new GlowFilter(0xffffff, 1, 3, 3, 2, 1, false, false);
_tweenGlowFilterBlurX = new Tween(_glowFilter, 'blurX', Strong.easeIn, 1, 5, .8, true);
_tweenGlowFilterBlurY = new Tween(_glowFilter, 'blurY', Strong.easeIn, 1, 5, .8, true);
_tweenGlowFilterBlurX.rewind();
_tweenGlowFilterBlurY.rewind();
addEventListener(MouseEvent.ROLL_OVER, _onRollOver);
addEventListener(MouseEvent.ROLL_OUT, _onRollOut);
}
private function _onRollOver(event:Event)
{
trace('rollOver');
_tweenGlowFilterBlurY.addEventListener(TweenEvent.MOTION_CHANGE, _onMotionChange);
_tweenGlowFilterBlurX.continueTo(5, 1);
_tweenGlowFilterBlurY.continueTo(5, 1);
}
private function _onRollOut(event:Event)
{
trace('rollOut');
_tweenGlowFilterBlurY.addEventListener(TweenEvent.MOTION_CHANGE, _onMotionChange);
_tweenGlowFilterBlurX.continueTo(1, 1);
_tweenGlowFilterBlurY.continueTo(1, 1);
}
private function _onMotionChange(event:Event)
{
trace('motionChange');
this.backgroundCircle.filters = [ _glowFilter ];
}
}
}