Board logo

标题: [原创]液滴效果 [打印本页]

作者: 紫色流星    时间: 2007-9-5 18:23     标题: [原创]液滴效果

首次见到这个效果是在《小小作品9》上,今天终于仿制成功,特贴出来与大家分享。

图片附件: 液滴效果.JPG (2007-9-5 18:27, 31.82 KB) / 下载次数 28
http://heubbs.com./attachment.php?aid=6112&k=b5d5323c61a7fa5460148d0dbf6b472e&t=1732397954&sid=aiT8Pb


作者: 紫色流星    时间: 2007-9-5 18:28

源代码
  1. Stage.scaleMode = "noScale";
  2. _root.attachMovie("LineGroup", "lg_mc", -2);
  3. _root.attachMovie("Ball", "ball_mc", -1);
  4. for (var i = 0; i<6; i++) {
  5.         _root.attachMovie("ChangeLine", "cl"+i+"_mc", i);
  6.         _root["cl"+i+"_mc"]._yscale=98
  7. }
  8. var k:Number = 0.1;
  9. var r:Number = ball_mc._width/2;
  10. var w:Number = Stage.width;
  11. var h:Number = Stage.height;
  12. lg_mc._x = w/2;
  13. lg_mc._y = h/2;
  14. _root.onEnterFrame = function() {
  15.         var gx:Number = _root._xmouse;
  16.         var gy:Number = _root._ymouse;
  17.         var lx:Number = ball_mc._x;
  18.         var ly:Number = ball_mc._y;
  19.         gx = gx<r ? r : gx;
  20.         gx = gx>(w-r) ? (w-r) : gx;
  21.         gy = gy<r ? r : gy;
  22.         gy = gy>(h-r) ? (h-r) : gy;
  23.         var nx = Math.floor((lx-15)/30);
  24.         var ny = Math.floor((ly-15)/30);
  25.         with (cl0_mc) {
  26.                 _x = nx*30;
  27.                 _y = ly;
  28.                 _rotation = 180;
  29.                 var d = Math.floor(Math.abs(lx-_x));
  30.                 cl0_mc.gotoAndStop(d);
  31.         }
  32.         with (cl1_mc) {
  33.                 _x = nx*30+30;
  34.                 _y = ly;
  35.                 var d = Math.floor(lx-_x);
  36.                 if (d>0) {
  37.                         _rotation = 180;
  38.                 } else {
  39.                         _rotation = 0;
  40.                 }
  41.                 d = Math.abs(d);
  42.                 d = d == 0 ? 1 : d;
  43.                 cl1_mc.gotoAndStop(d);
  44.         }
  45.         with (cl2_mc) {
  46.                 _x = nx*30+60;
  47.                 _y = ly;
  48.                 _rotation = 0;
  49.                 var d = Math.floor(Math.abs(lx-_x));
  50.                 cl2_mc.gotoAndStop(d);
  51.         }
  52.         with (cl3_mc) {
  53.                 _x = lx;
  54.                 _y = ny*30;
  55.                 _rotation = 270;
  56.                 var d = Math.floor(Math.abs(ly-_y));
  57.                 cl3_mc.gotoAndStop(d);
  58.         }
  59.         with (cl4_mc) {
  60.                 _x = lx;
  61.                 _y = ny*30+30;
  62.                 var d = Math.floor(ly-_y);
  63.                 if (d>0) {
  64.                         _rotation = 270;
  65.                 } else {
  66.                         _rotation = 90;
  67.                 }
  68.                 d = Math.abs(d);
  69.                 d = d == 0 ? 1 : d;
  70.                 cl4_mc.gotoAndStop(d);
  71.         }
  72.         with (cl5_mc) {
  73.                 _x = lx;
  74.                 _y = ny*30+60;
  75.                 _rotation = 90;
  76.                 var d = Math.floor(Math.abs(ly-_y));
  77.                 cl5_mc.gotoAndStop(d);
  78.         }
  79.         ball_mc._x += (gx-lx)*k;
  80.         ball_mc._y += (gy-ly)*k;
  81. };
复制代码

作者: 紫色流星    时间: 2007-9-5 18:31

下载包:

Flash影音文件*1,IE播放文件*1(用于那些无法正常播放swf文件的用户)

附件: 液滴效果.rar (2007-9-5 18:31, 2.43 KB) / 下载次数 160
http://heubbs.com./attachment.php?aid=6113&k=15d59e108d347dd742f6fab2a06adf07&t=1732397954&sid=aiT8Pb




欢迎光临 工程家园 (http://heubbs.com./) Powered by Discuz! 7.2