piccom.as

来自「使用 Flex进行文件操作 从而达到最高的文件效能」· AS 代码 · 共 394 行

AS
394
字号
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.filters.BitmapFilter;
	import flash.filters.BitmapFilterQuality;
	import flash.filters.DropShadowFilter;
	
	import mx.controls.Alert;
	import mx.controls.Image;
	import mx.controls.Label;
	import mx.controls.Text;
	import mx.core.UIComponent;
	import mx.effects.Tween;
	import mx.effects.easing.*;
    
	public class PicCom extends UIComponent
	{
		private var i:int=0;
		private var img:Image;
		private var lab:Label;
		public var pic:String;
		public var nm:String;
		private var sp:Sprite;
		private var sp2:Sprite;
		private var sp3:Sprite;
		private var sp4:Sprite;
		private var tx2:Text;
		private var tx3:Text;
		private var tx4:Text;
		private var start:Number;
		private var R:Number=50;
		private var r:Number=15;
		private var X:Number;
		private var Y:Number;
		public function PicCom()
		{
			super();
		}
		override protected function createChildren():void
		{
		super.createChildren();
		sp=new Sprite();
		sp.addEventListener(MouseEvent.CLICK,spc);
		sp2=new Sprite();
		sp3=new Sprite();
		sp4=new Sprite();
		sp2.alpha=0.6;
		sp3.alpha=0.6;
		sp4.alpha=0.6;
		tx2=new Text();
		tx3=new Text();
		tx4=new Text();
		tx2.text="查看";
		tx3.text="编辑";
		tx4.text="删除";
		tx2.visible=false;
		tx3.visible=false;
		tx4.visible=false;
		sp.addEventListener(MouseEvent.MOUSE_OVER,ov);
		sp.addEventListener(MouseEvent.MOUSE_OUT,ou);
		sp2.addEventListener(MouseEvent.MOUSE_OVER,ov);
		sp2.addEventListener(MouseEvent.MOUSE_OUT,ou);
		sp3.addEventListener(MouseEvent.MOUSE_OVER,ov);
		sp3.addEventListener(MouseEvent.MOUSE_OUT,ou);
		sp4.addEventListener(MouseEvent.MOUSE_OVER,ov);
		sp4.addEventListener(MouseEvent.MOUSE_OUT,ou);
		sp2.addEventListener(MouseEvent.CLICK,sp2c);
		sp3.addEventListener(MouseEvent.CLICK,sp3c);
		sp4.addEventListener(MouseEvent.CLICK,sp4c);
		img=new Image();
		img.source=pic;
		lab=new Label();
		lab.text=nm;
		addChild(img);
		addChild(lab);
		addChild(tx2);
		addChild(tx3);
		addChild(tx4);
		addChild(sp2);
		addChild(sp3);
		addChild(sp4);
		addChild(sp);
		}
		internal function ou(e:MouseEvent):void
		{
		var p:Sprite=e.target as Sprite;
		p.filters=[getBitmapFilter()];
		}
		internal function ov(e:MouseEvent):void
		{
			var p:Sprite=e.target as Sprite;
		p.filters=[getBitmapFilter(),getDropShadowFilter()];
		}
		internal function sp2c(e:MouseEvent):void
		{
		//查看
		
		}
		internal function sp3c(e:MouseEvent):void
		{
		/* **************编辑******************* */
		
		
		
		
		
		/* **************编辑******************* */
		}
		internal function sp4c(e:MouseEvent):void
		{
		/* ***************删除******************* */
		
		
		
		
		
		
		/* ***************删除******************* */
		}
		internal function spc(e:Event):void
		{
			trace(i);
		if(i==0)
		{	
		ss();
		i++;
		}
		else
		{
		if(i%2==1)
		{
		sp2.visible=false;
		sp3.visible=false;
		sp4.visible=false;
		tx2.visible=false;
		tx3.visible=false;
		tx4.visible=false;
		}
		if(i%2==0)
		{
		sp2.visible=true;
		sp3.visible=true;
		sp4.visible=true;
		tx2.visible=true;
		tx3.visible=true;
		tx4.visible=true;
		}
		i++;
		}
		
		
		}
		internal function ss():void
		{
  
      
		 var listener:Object =new Object(); 
         listener.onTweenUpdate=function(val:Object):void 
     { 
      var angle:Number=val as Number; 
         drawsp120(angle);
      } 
          listener.onTweenEnd=function(val:Object):void 
    { 
       sss();
    }
    var tween:Tween = new Tween(listener,0,120,100);  
    tween.easingFunction =Quartic.easeInOut;
		}
		internal function sss():void
		{
  
      
		 var listener:Object =new Object(); 
         listener.onTweenUpdate=function(val:Object):void 
     { 
      var angle:Number=val as Number; 
         drawsp240(angle);
      } 
          listener.onTweenEnd=function(val:Object):void 
    { 
        ssss();
    }
    var tween:Tween = new Tween(listener,0,120,100);  
    tween.easingFunction =Quartic.easeInOut;
		}
		internal function ssss():void
		{
  
      
		 var listener:Object =new Object(); 
         listener.onTweenUpdate=function(val:Object):void 
     { 
      var angle:Number=val as Number; 
         drawsp360(angle);
      } 
   listener.onTweenEnd=function(val:Object):void 
    { 
    }
    var tween:Tween = new Tween(listener,0,120,100);  
    tween.easingFunction =Quartic.easeInOut;
		}
		override protected function measure():void
		{
		super.measure();
		}
		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
		{
		super.updateDisplayList(unscaledWidth,unscaledHeight);
		img.width=100;
		img.height=100;
		img.x=-img.width/2;
		img.y=-img.height/2;
		lab.width=100;
		lab.height=50;
		lab.x=-img.width/2;
		lab.y=img.height/2;
		X=unscaledWidth-img.width/2;
		Y=unscaledHeight-img.height/2;
		tx2.width=30;
		tx2.height=30;
		tx3.width=30;
		tx3.height=30;
		tx4.width=30;
		tx4.height=30;
		tx2.x=X;
		tx2.y=Y-35;
		tx3.x=X-45;
		tx3.y=Y-15;
		tx4.x=X+8;
		tx4.y=Y+15;
		sp2.filters=[getBitmapFilter()];
		sp3.filters=[getBitmapFilter()];
		sp4.filters=[getBitmapFilter()];
		drawCircle();
		}
		internal function drawCircle():void
		{
		sp.graphics.lineStyle(1);
		sp.graphics.beginFill(0xFFaaFF);
		sp.graphics.drawCircle(X,Y,10);
		}
		internal function drawsp120(angle:Number):void
		{
		var anglee:Number=angle;
		var start:Number=0;
		var n:Number=Math.ceil(Math.abs(anglee)/45);
		var an:Number=Math.abs(anglee)/n;
		//trace(an);
		//trace(start);
		an=an*Math.PI/180;
		start=start*Math.PI/180;
		//sp.graphics.lineStyle(1);
		
		sp2.graphics.lineStyle(1);
		sp2.graphics.beginFill(0x0066FF,1.0);
		//初始到内圆起点
		sp2.graphics.moveTo(X+Math.cos(start)*r,Y-Math.sin(start)*r);
		//连接到外圆起点
		sp2.graphics.lineTo(X+Math.cos(start)*R,Y-Math.sin(start)*R);
		// 反旋画线。。。。。。。
		for(var i:int=1;i<=n;i++)
		{
		//trace("i");	
		sp2.graphics.curveTo(X+Math.cos(an/2+start)*R/Math.cos(an/2),Y-Math.sin(an/2+start)*R/Math.cos(an/2),X+Math.cos(an+start)*R,Y-Math.sin(an+start)*R);
		start=start+an;
		}
		//连接到内圆
		sp2.graphics.lineTo(X+Math.cos(start)*r,Y-Math.sin(start)*r);
		
		//正旋画线。。。
		for(var j:int=1;j<=n;j++)
		{
		sp2.graphics.curveTo(X+Math.cos(start-an/2)*r/Math.cos(an/2),Y-Math.sin(start-an/2)*r/Math.cos(an/2),X+Math.cos(start-an)*r,Y-Math.sin(start-an)*r);
		start=start-an;
		}
		sp2.graphics.endFill();
		tx2.visible=true;
		}
		internal function drawsp240(angle:Number):void
		{
		var anglee:Number=angle;
		var start:Number=120;
		var n:Number=Math.ceil(Math.abs(anglee)/45);
		var an:Number=Math.abs(anglee)/n;
		//trace(an);
		//trace(start);
		an=an*Math.PI/180;
		start=start*Math.PI/180;
		//sp.graphics.lineStyle(1);
		
		sp3.graphics.lineStyle(1);
		sp3.graphics.beginFill(0xff66FF,1.0);
		//初始到内圆起点
		sp3.graphics.moveTo(X+Math.cos(start)*r,Y-Math.sin(start)*r);
		//连接到外圆起点
		sp3.graphics.lineTo(X+Math.cos(start)*R,Y-Math.sin(start)*R);
		// 反旋画线。。。。。。。
		for(var i:int=1;i<=n;i++)
		{
		//trace("i");	
		sp3.graphics.curveTo(X+Math.cos(an/2+start)*R/Math.cos(an/2),Y-Math.sin(an/2+start)*R/Math.cos(an/2),X+Math.cos(an+start)*R,Y-Math.sin(an+start)*R);
		start=start+an;
		}
		//连接到内圆
		sp3.graphics.lineTo(X+Math.cos(start)*r,Y-Math.sin(start)*r);
		
		//正旋画线。。。
		for(var j:int=1;j<=n;j++)
		{
		sp3.graphics.curveTo(X+Math.cos(start-an/2)*r/Math.cos(an/2),Y-Math.sin(start-an/2)*r/Math.cos(an/2),X+Math.cos(start-an)*r,Y-Math.sin(start-an)*r);
		start=start-an;
		}
		sp3.graphics.endFill();
		tx3.visible=true;
		}
		internal function drawsp360(angle:Number):void
		{
		var anglee:Number=angle;
		var start:Number=240;
		var n:Number=Math.ceil(Math.abs(anglee)/45);
		var an:Number=Math.abs(anglee)/n;
		//trace(an);
		//trace(start);
		an=an*Math.PI/180;
		start=start*Math.PI/180;
		//sp.graphics.lineStyle(1);
		
		sp4.graphics.lineStyle(1);
		sp4.graphics.beginFill(0xbb66FF,1.0);
		//初始到内圆起点
		sp4.graphics.moveTo(X+Math.cos(start)*r,Y-Math.sin(start)*r);
		//连接到外圆起点
		sp4.graphics.lineTo(X+Math.cos(start)*R,Y-Math.sin(start)*R);
		// 反旋画线。。。。。。。
		for(var i:int=1;i<=n;i++)
		{
		//trace("i");	
		sp4.graphics.curveTo(X+Math.cos(an/2+start)*R/Math.cos(an/2),Y-Math.sin(an/2+start)*R/Math.cos(an/2),X+Math.cos(an+start)*R,Y-Math.sin(an+start)*R);
		start=start+an;
		}
		//连接到内圆
		sp4.graphics.lineTo(X+Math.cos(start)*r,Y-Math.sin(start)*r);
		
		//正旋画线。。。
		for(var j:int=1;j<=n;j++)
		{
		sp4.graphics.curveTo(X+Math.cos(start-an/2)*r/Math.cos(an/2),Y-Math.sin(start-an/2)*r/Math.cos(an/2),X+Math.cos(start-an)*r,Y-Math.sin(start-an)*r);
		start=start-an;
		}
		sp4.graphics.endFill();
		tx4.visible=true;
		}
		 private function getBitmapFilter():BitmapFilter {
            var color:Number = 0xFFFFFF;
            var angle:Number =90;
            var alpha:Number = 0.9;
            var blurX:Number = 8;
            var blurY:Number = 8;
            var distance:Number =15;
            var strength:Number = 0.8;
            var inner:Boolean =true;
            var knockout:Boolean =false;
            var quality:Number = BitmapFilterQuality.HIGH;
            return new DropShadowFilter(distance,
                                        angle,
                                        color,
                                        alpha,
                                        blurX,
                                        blurY,
                                        strength,
                                        quality,
                                        inner,
                                        knockout);
        }
        private function getDropShadowFilter():BitmapFilter 
        { 
        var color:Number = 0x000000; 
        var angle:Number = 45; 
        var alpha:Number = 0.9; 
        var blurX:Number = 5; 
        var blurY:Number = 5; 
        var distance:Number = 5; 
        var strength:Number = 0.9; 
        var inner:Boolean = false; 
        var knockout:Boolean = false; 
        var quality:Number = BitmapFilterQuality.LOW; 
        return new DropShadowFilter(distance,angle,color,alpha,blurX,blurY,strength,quality,inner,knockout); 

} 
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?