刀光效果

来源:互联网 发布:mac专卖店 编辑:程序博客网 时间:2024/04/29 01:13

本例用到TweenFilterLite缓动类,没有的搜索一下下载该类

1.画一把刀,不会画可以随便画个框-----类绑定:Mc。

2.在刀元件里添加两个空白的MovieClip放于刀柄和刀尖的点,点的name分别为:_pt1Mc、_pt2Mc。

3.Mc类:

package {import flash.display.MovieClip;import flash.events.Event;import flash.geom.Point;import flash.display.Sprite;import com.gs.TweenFilterLite;import flash.display.Shape;import flash.geom.ColorTransform;public class MC extends MovieClip{private var pt1Mc:MovieClip;private var pt2Mc:MovieClip;private var ptArr:Array=[];private var spArr:Array = [];public function MC(){addEventListener(Event.ADDED_TO_STAGE,addedStage);addEventListener(Event.ENTER_FRAME,enterFrame);}private function addedStage(e:Event):void{pt1Mc = getChildByName("_pt1Mc") as MovieClip;pt2Mc = getChildByName("_pt2Mc")as MovieClip;}private function enterFrame(e:Event):void{x = stage.mouseX;y = stage.mouseY;updatePointArr();}private function updatePointArr():void{var pt1:Point = pt1Mc.localToGlobal(new Point);var pt2:Point = pt2Mc.localToGlobal(new Point);ptArr.push([pt1,pt2]);if(ptArr.length==2){drawRect();}}/*var redMultiplier:Number = 0;var greenMultiplier:Number = 0;var blueMultiplier:Number = 0;var color:uint;*/private function drawRect():void{var sp:Shape = new Shape();parent.addChild(sp);sp.graphics.beginFill(0x00ff00,0.8);sp.graphics.moveTo(ptArr[0][0].x,ptArr[0][0].y);sp.graphics.lineTo(ptArr[0][1].x,ptArr[0][1].y);sp.graphics.lineTo(ptArr[1][1].x,ptArr[1][1].y);sp.graphics.lineTo(ptArr[1][0].x,ptArr[1][0].y);sp.graphics.endFill();ptArr.shift();spArr.push(sp);parent.addChild(sp);TweenFilterLite.to(sp,0.5,{autoAlpha:0,onComplete:tweenComplete});}private function tweenComplete():void{parent.removeChild(spArr.shift());}}}

4.测试影片,可以看到如下效果:

刀光效果

 

 

原创粉丝点击