免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

一个用greensock写的效果,改自9ria一个帖子

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:肤浅 您是第4911个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
本帖最后由 网雨霏霏 于 2016-11-23 17:45 编辑

请直接点击画面,可见效果:
====-=============华丽的分割线==============
http://flashroad.joinbbs.net/attachment.php?aid=NjI0fDNlZTVlZjMxfDE3NTI4MjA5OTR8YTQxN3VxdS9XTi9IYy9CZVVVVGsyenVvY0hMazU2RmdkbjdOK1ZjUHZjNUtRMnc%3D&request=yes&_f=.swf
====-=============华丽的分割线==============

您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
1

评分人数

    • 网雨霏霏: 作品很给力,感谢共享威望 + 10 金钱 + 60 魅力 + 2 + 6

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

flashroad
访问时间:2020-08-30 18:11
云卷云舒
访问时间:2020-05-27 08:28
大宝娃
访问时间:2019-08-06 20:36

点评
B Color Smilies

您还可以输入:个字符
X

X

简单就好

圆形类,这个是为了在fla文件中做点击发散光圈的效果:GradientCircle
  1. package {
  2. import flash.display.Sprite;
  3. import flash.display.GradientType;
  4. import flash.geom.Matrix;

  5. public class GradientCircle extends Sprite{

  6. private var _isLine:Boolean;
  7. private var _lineWidth:Number;
  8. private var _lineCol:uint;

  9. public var _radius:Number;
  10. private var _cols:Array;
  11. private var _alphas:Array;
  12. private var _ratios:Array;

  13. public function GradientCircle(radius:Number,cols:Array,alphas:Array,ratios:Array,isLine:Boolean=false,lineWidth:Number=1,lineCol:uint=0xff0000) {
  14. super();
  15. this._isLine=isLine;
  16. this._lineWidth=lineWidth;
  17. this._lineCol=lineCol;

  18. this._radius=radius;
  19. this._cols=cols;
  20. this._alphas=alphas;
  21. this._ratios=ratios;
  22. this.drawCircle();
  23. }

  24. public function set radius(radius:Number):void{
  25. this._radius=radius;
  26. }

  27. public function get radius():Number{
  28. return _radius;
  29. }

  30. public function drawCircle(){
  31. this.graphics.clear();

  32. var matrix:Matrix=new Matrix();
  33. matrix.createGradientBox(_radius*2,_radius*2,0,-_radius,-_radius);
  34. if(_isLine){
  35. this.graphics.lineStyle(_lineWidth,_lineCol);
  36. }

  37. this.graphics.beginGradientFill(GradientType.RADIAL,_cols,_alphas,_ratios,matrix);
  38. this.graphics.drawCircle(0,0,_radius);
  39. this.graphics.endFill();
  40. }

  41. }

  42. }
复制
下面是fla文件时间轴的代码(注意.as文件与fla同一文件夹)
  1. import flash.display.GradientType;
  2. import flash.display.Graphics;
  3. import flash.display.Sprite;
  4. import com.greensock.TimelineLite;
  5. import com.greensock.TweenMax ;
  6. import com.greensock.easing.*;

  7. var sp1:Sprite=new GradientCircle(40,[0x3366CC,0x3366CC,0x33CCFF,0xffffff],[0,0.5,0.8,0],[0,50,240,250],true,1,0x33CCFF);
  8. addChild(sp1);
  9. sp1.alpha=0;
  10. sp1.scaleX=sp1.scaleY=0.5;
  11. sp1.filters=[new GlowFilter(0x33CCFF,0.7,20,20,2,1)];

  12. var sp2:Sprite=new GradientCircle(30,[0xA5BBBE,0x66CCFF,0x33FFCC],[0,0.8,0],[0,180,250]);
  13. addChild(sp2);

  14. sp2.alpha=0;
  15. sp1.mouseEnabled=false;
  16. sp2.mouseEnabled=false;

  17. var tl:TimelineLite=new TimelineLite();
  18. stage.addEventListener(MouseEvent.CLICK,clickStage);


  19. function clickStage(evt:MouseEvent):void{
  20. sp1.x=mouseX;
  21. sp1.y=mouseY;
  22. sp2.x=mouseX;
  23. sp2.y=mouseY;

  24. /*sp2.width=30;
  25. sp2.height=30;
  26. sp2.alpha=0;*/
  27. //tl.kill(sp2,{width:true,height:true,alpha:true});
  28. TweenMax.killTweensOf(sp1,false,{width:true,height:true,alpha:true});
  29. TweenMax.killTweensOf(sp2,false,{width:true,height:true,alpha:true});


  30. TweenMax.fromTo(sp1,4.5,{width:40,height:40,alpha:1},{width:"+1000",height:"+1000",alpha:0,ease:Expo.easeOut});
  31. tl.add(TweenMax.fromTo(sp2,0.5,{width:30,height:30,alpha:1},{width:"-36",height:"-36",alpha:1,ease:Sine.easeIn}));
  32. tl.add(TweenMax.to(sp2,3,{width:"+2500",height:"+2500",alpha:0,ease:Expo.easeOut}));
  33. //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});
  34. }
复制
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

简单就好

TOP

帮你编辑了一下1楼,可以直接看到效果
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

回复 3# 网雨霏霏

其实我发现了个问题,就是点击舞台太快,中间的另一个小圆只会将TimelineLite运行第一个TweenMax,并且我都已经kill了sp1,和sp2的相应属性,该怎么弄啊
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

简单就好

TOP

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页