[구현원리]
1) 광선검 효과를 내기 위한 GlowFilter 객체를 생성한다. 이펙트의 적용 반경인 blurX, blurY는 10으로 설정  (자세한 내용은 액션정석 9장 참조)
2) 화면을 클릭하면 그 위치에 제다이 광선검을 그려주는 drawSword함수를 호출한다. (자세한 내용은 액션정석 3, 8장 참조)
3) drawSword에서는 좌표값과 랜덤한 색상값을 입력받아 광선검 모양의 둥근사각형을 그려주는 Sprite를 생성해 화면에 추가한다음 GlowFilter를 적용한다. (자세한 내용은 액션정석 9장 참조)
2.jpg

[소스코드]
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.GlowFilter;
    [SWF(width=800, height=480,backgroundColor=0x000000)]
public class AsExamJediSword extends Sprite {
        private var glow:GlowFilter = new GlowFilter(0xffffff, 10, 10, 10, 3, 2);
        
public function AsExamJediSword() {
            stage.addEventListener(MouseEvent.CLICK, function(event:MouseEvent):void { drawSword(event.stageX, event.stageY, Math.random()*0x1000000); });
        }
        
        private function drawSword(pX:int, pY:int, color:int):void {
            var swordSpr:Sprite = new Sprite();
            swordSpr.graphics.beginFill(color);
            swordSpr.graphics.drawRoundRect(pX, pY, 10, -300, 5, 5);
            this.addChild(swordSpr);
            glow.color = color;
            swordSpr.filters = [glow];      
        }
}
}


profile