TweenLite使用一例

TweenLite的效果:

fla代码:
1  var  a:runPic = new  runPic( " http://images.cnblogs.com/cnblogs_com/ddw1997/img/yaoming.jpg " );
2  addChild(a);
3  a.addEventListener(runPic.LOADER_EVENT,set_xy);
4  function  set_xy(e:Event ): void  {
5      a.x = (stage.stageWidth - a.width) / 2;
6      a.y = (stage.stageHeight - a.height) / 2;
7      a.removeEventListener(runPic.LOADER_EVENT,set_xy);
8  }

runPic.as
 1  /* ===========================================================
 2  * 构造函数有五个参数,第一个是图片地址是必需的。
 3  * var a:runPic=new runPic("yaoming.jpg");
 4  * addChild(a);
 5  * a.addEventListener(runPic.LOADER_EVENT,set_xy);
 6  * function set_xy(e:Event ):void {
 7  * a.x=(stage.stageWidth-a.width)/2;
 8  * a.y=(stage.stageHeight-a.height)/2;
 9  * a.removeEventListener(runPic.LOADER_EVENT,set_xy);
10  * }
11  *=================作者;ddw1997(20090703)====================== */
12  package {
13       // Import TweenLite
14      import gs. * ;
15      import gs.easing. * ;
16      import flash.display.Bitmap;
17      import flash.display.BitmapData;
18      import flash.display.Sprite;
19      import flash.display.MovieClip;
20      import flash.display.Loader;
21      import flash.net.URLRequest;
22      import flash.events.Event;
23      import flash.events.MouseEvent;
24      import flash.geom.Rectangle;
25      import flash.geom.Point;
26      public class runPic extends Sprite {
27          private  var  X_num: int ; // 宽等分数
28          private  var  Y_num: int ; // 高等分数
29          private  var  X_width:Number; // 小块的宽
30          private  var  Y_height:Number; // 小块的高
31          private  var  line_Color:uint; // 小块边线颜色
32          private  var  line_Width:uint; // 小块边线宽度
33          private  var  image_Num: int ; // 统计分成小块的数量
34          private  var  image_URL:String; // 图片地址
35          private  var  imageLoader:Loader;
36          public static  var  LOADER_EVENT  =   " loaderevent " ;
37          public  function  runPic(image_url:String,x_num: int = 10 ,y_num: int = 10 ,line_color:uint = 0xffffffff ,line_width: int = 1 ): void  {
38              X_num  =  x_num;
39              Y_num  =  y_num;
40              line_Color  =  line_color;
41              line_Width  =  line_width;
42              image_URL  =  image_url;
43              init();
44          }
45          private  function  init(): void  {
46              imageLoader  =   new  Loader();
47              imageLoader.load( new  URLRequest(image_URL));
48              imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
49          }
50          private  function  completeHandler(event:Event): void  {
51               var  image_Data:BitmapData  =  event.target.content.bitmapData;
52              X_width  =  Math.floor(image_Data.width  /  X_num); // 取整便于获得像素的整数值,使得边框的像素太小时不至于被遮盖。
53              Y_height  =  Math.floor(image_Data.height  /  Y_num);
54              image_Num  =   0 ;
55               for  ( var  i  =   0 ; i  <  X_num; i ++ ) {
56                   for  ( var  j  =   0 ; j  <  Y_num; j ++ ) {
57                       var  image_MC:MovieClip  =   new  MovieClip(); // MovieClip便于响应鼠标事件及动态添加属性。
58                       var  image_bitmap:Bitmap  =   new  Bitmap();
59                      image_bitmap.bitmapData  =   new  BitmapData(X_width  +   2   *  line_Width,Y_height  +   2   *  line_Width, true ,line_Color);
60                      image_bitmap.bitmapData.copyPixels(image_Data, new  Rectangle(i  *  X_width, j  *  Y_height, X_width, Y_height), new  Point(line_Width,line_Width));
61                      image_MC.addChild(image_bitmap);
62                      image_MC.x  =  i  *  (X_width + line_Width);
63                      image_MC.y  =  j  *  (Y_height + line_Width);
64                      image_MC.oldX  =  image_MC.x;
65                      image_MC.oldY  =  image_MC.y;
66                      image_MC.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
67                      addChild(image_MC);
68                       if  (image_Num  ==  X_num  *  Y_num  -   1 ) {
69                          dispatchEvent( new  Event(LOADER_EVENT)); // 发布广播小块全部完成
70                      }
71                      image_Num ++ ;
72                  }
73              }
74          }
75          private  function  mouseOverHandler(e:Event): void  {
76               var  image_MC:MovieClip  =  e.target as MovieClip;
77               var  randomX:Number  =  Math.random()  *   1000   -   500 ;
78               var  randomY:Number  =  Math.random()  *   1000   -   500 ;
79               var  targetX:Number  =  image_MC.x  +  randomX;
80               var  targetY:Number  =  image_MC.y  +  randomY;
81              TweenLite.to(image_MC,  1 , {x:targetX, y:targetY, onComplete:outTweenFinished, onCompleteParams:[image_MC]});
82              setChildIndex(image_MC,image_Num  -   1 ); // 让小块到最上层
83              image_MC.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); // 让小块删除侦听
84          }
85          private  function  outTweenFinished(image_MC:MovieClip): void  {
86               var  oldX  =  image_MC.oldX;
87               var  oldY  =  image_MC.oldY;
88              TweenLite.to(image_MC,  1 , {x:oldX, y:oldY, onComplete:inTweenFinished, onCompleteParams:[image_MC]});
89          }
90          private  function  inTweenFinished(image_MC:MovieClip): void  {
91              image_MC.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); // 让小块重新侦听
92          }
93 
94      }
95  }

转载于:https://www.cnblogs.com/ddw1997/archive/2009/08/09/1542281.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值