我刚刚开始学习一些actionscript / javascript。 我正在尝试将一个发光和模糊滤镜应用于太阳的实例。 (我意识到我可以在没有动作脚本的情况下做到这一点,但是项目需要使用as3)问题是太阳没有出现在每一帧中。是否仍可以使用enter_frame事件? 有没有更简单的方法可以做到这一点?
到目前为止,这是我的代码:
import flash.filters.GlowFilter;
import flash.filters.BlurFilter;
import flash.events.Event;
var sunglow:GlowFilter= new GlowFilter(0xffff00,0.8);
var sunblur:BlurFilter= new BlurFilter();
var f:int = 0;
addEventListener(Event.ENTER_FRAME,fl_EnterFrameHandler);
function fl_EnterFrameHandler(event:Event):void{
if (f > 29 && f < 350) {
var random1 = Math.random()*2+40;
var random2 = Math.random()*2+8;
sunglow.blurX = random1;
sunglow.blurY = random1;
sunblur.blurX = random2;
sunblur.blurY = random2;
sunshine.filters = [sunglow,sunblur];
}
f++;
}
干杯
答案 0 :(得分:0)
使用EnterFrame
事件是一种正确的方法,但检查场景中sunshine
的存在比帧数更灵活:
if(f> 29&amp; f&lt; 350) - &gt;如果(阳光)
每当太阳出现在场景中时,即使您在时间线上进行了一些更改,也会对其应用滤镜。