刀光效果

本例用到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.测试影片,可以看到如下效果:

刀光效果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值