- 积分
- 235
- UID
- 132
- 帖子
- 13
- 主题
- 4
- 精华
- 0
- 积分
- 235
- 金钱
- 621
- 阅读权限
- 20
- 最后登录
- 2016-12-30
|
沙发(2楼)
发表于 2016-11-23 15:44
| 只看该作者
圆形类,这个是为了在fla文件中做点击发散光圈的效果:GradientCircle - package {
- import flash.display.Sprite;
- import flash.display.GradientType;
- import flash.geom.Matrix;
- public class GradientCircle extends Sprite{
- private var _isLine:Boolean;
- private var _lineWidth:Number;
- private var _lineCol:uint;
- public var _radius:Number;
- private var _cols:Array;
- private var _alphas:Array;
- private var _ratios:Array;
- public function GradientCircle(radius:Number,cols:Array,alphas:Array,ratios:Array,isLine:Boolean=false,lineWidth:Number=1,lineCol:uint=0xff0000) {
- super();
- this._isLine=isLine;
- this._lineWidth=lineWidth;
- this._lineCol=lineCol;
- this._radius=radius;
- this._cols=cols;
- this._alphas=alphas;
- this._ratios=ratios;
- this.drawCircle();
- }
- public function set radius(radius:Number):void{
- this._radius=radius;
- }
- public function get radius():Number{
- return _radius;
- }
- public function drawCircle(){
- this.graphics.clear();
- var matrix:Matrix=new Matrix();
- matrix.createGradientBox(_radius*2,_radius*2,0,-_radius,-_radius);
- if(_isLine){
- this.graphics.lineStyle(_lineWidth,_lineCol);
- }
- this.graphics.beginGradientFill(GradientType.RADIAL,_cols,_alphas,_ratios,matrix);
- this.graphics.drawCircle(0,0,_radius);
- this.graphics.endFill();
- }
- }
- }
复制下面是fla文件时间轴的代码(注意.as文件与fla同一文件夹) - import flash.display.GradientType;
- import flash.display.Graphics;
- import flash.display.Sprite;
- import com.greensock.TimelineLite;
- import com.greensock.TweenMax ;
- import com.greensock.easing.*;
- var sp1:Sprite=new GradientCircle(40,[0x3366CC,0x3366CC,0x33CCFF,0xffffff],[0,0.5,0.8,0],[0,50,240,250],true,1,0x33CCFF);
- addChild(sp1);
- sp1.alpha=0;
- sp1.scaleX=sp1.scaleY=0.5;
- sp1.filters=[new GlowFilter(0x33CCFF,0.7,20,20,2,1)];
- var sp2:Sprite=new GradientCircle(30,[0xA5BBBE,0x66CCFF,0x33FFCC],[0,0.8,0],[0,180,250]);
- addChild(sp2);
- sp2.alpha=0;
- sp1.mouseEnabled=false;
- sp2.mouseEnabled=false;
- var tl:TimelineLite=new TimelineLite();
- stage.addEventListener(MouseEvent.CLICK,clickStage);
- function clickStage(evt:MouseEvent):void{
- sp1.x=mouseX;
- sp1.y=mouseY;
- sp2.x=mouseX;
- sp2.y=mouseY;
- /*sp2.width=30;
- sp2.height=30;
- sp2.alpha=0;*/
- //tl.kill(sp2,{width:true,height:true,alpha:true});
- TweenMax.killTweensOf(sp1,false,{width:true,height:true,alpha:true});
- TweenMax.killTweensOf(sp2,false,{width:true,height:true,alpha:true});
- TweenMax.fromTo(sp1,4.5,{width:40,height:40,alpha:1},{width:"+1000",height:"+1000",alpha:0,ease:Expo.easeOut});
- tl.add(TweenMax.fromTo(sp2,0.5,{width:30,height:30,alpha:1},{width:"-36",height:"-36",alpha:1,ease:Sine.easeIn}));
- tl.add(TweenMax.to(sp2,3,{width:"+2500",height:"+2500",alpha:0,ease:Expo.easeOut}));
- //tl.fromTo(sp2,0.5,{width:30,height:30,alpha:1},{width:"-36",height:"-36",alpha:1,ease:Sine.easeIn}).to(sp2,3,{width:"+2500",height:"+2500",alpha:0,ease:Expo.easeOut});
- }
复制
您所在的用户组只能看到部分内容. 如查看全部内容, 请先 登录或者 注册.
|