守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 478|回复: 1

[华丽特效] 物理连杆效果

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    51696
    钢镚
    1422

    开源英雄守望者

    发表于 2015-7-15 14:16:36 | 显示全部楼层 |阅读模式



    1. package {
    2.     import flash.events.Event;
    3.     import flash.display.Sprite;
    4.     public class FlashTest extends Sprite {
    5.         public function FlashTest() {
    6.             
    7.             stage.addEventListener(Event.ENTER_FRAME, onEnter);
    8.         }//ctor
    9.         
    10.         public var gt:int =0;
    11.         
    12.         public function onEnter(e:Event):void
    13.         {
    14.             gt+=1;
    15.             var mx:Number; var my:Number;
    16.             mx = stage.mouseX; my = stage.mouseY;
    17.             
    18.             graphics.clear();
    19.             graphics.lineStyle(2, 0);
    20.             
    21.             var ax:Number; var ay:Number;
    22.             var bx:Number; var by:Number;
    23.             
    24.             var ta:Number;
    25.             ta = gt * 0.1;
    26.             
    27.             ax= 230; ay= 230;
    28.             bx= mx + Math.cos(ta)*32; by =my + Math.sin(ta)*32;
    29.             graphics.drawCircle(mx,my, 32);
    30.             graphics.moveTo(mx+Math.cos(ta)*32, my+Math.sin(ta)*32);
    31.             graphics.lineTo(mx+Math.cos(ta)*-32, my+Math.sin(ta)*-32);
    32.             
    33.             
    34.             var mag:Number;
    35.             var nx:Number; var ny:Number;
    36.             nx=bx-ax;ny=by-ay;
    37.             mag = Math.sqrt(nx*nx+ny*ny);
    38.             if (mag == 0) { mag =0.1; }
    39.             nx/=mag; ny/=mag;
    40.             
    41.             graphics.drawCircle(ax,ay, 8);
    42.             graphics.drawCircle(bx,by, 8);
    43.             //graphics.moveTo(ax,ay);
    44.             //graphics.lineTo(bx,by);
    45.             
    46.             var kx:Number; var ky:Number;
    47.             
    48.             kx = (bx+ax)*0.5 +ny*-16;
    49.             ky = (by+ay)*0.5 +nx* 16;
    50.             //graphics.drawCircle(kx,ky, 8);
    51.             
    52.             var i:int;
    53.             var dx:Number; var dy:Number;
    54.             var r:Number;
    55.             r = 64;

    56.             for(i=0;i<8;i++)
    57.             {         
    58.               if (i%2 == 0)
    59.               {    dx=kx-bx;dy=ky-by; }
    60.               else { dx=kx-ax;dy=ky-ay; }
    61.                 mag = Math.sqrt(dx*dx+dy*dy);
    62.                 if (mag == 0) { mag =0.1; }
    63.                 dx/=mag; dy/=mag;
    64.                 mag = r-mag; mag*=0.5;
    65.                 kx += dx*mag; ky += dy*mag;
    66.                
    67.            }//nexti

    68.             graphics.drawCircle(kx,ky, 8);
    69.             graphics.moveTo(ax,ay);
    70.             graphics.lineTo(kx,ky);
    71.             graphics.moveTo(kx,ky);
    72.             graphics.lineTo(bx,by);
    73.             
    74.         }//onenter
    75.         
    76.     }//classend

    77. }

    复制代码






    本文来自:http://wonderfl.net/c/kbmV

    本帖子中包含更多资源

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

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-24 01:34
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    38

    帖子

    868

    积分

    上士

    Rank: 5Rank: 5

    威望
    20
    贡献
    0
    金币
    14
    钢镚
    0
    发表于 2019-2-24 02:28:54 | 显示全部楼层
    感谢分享!~
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

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

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2019-8-25 17:10 , Processed in 0.043547 second(s), 31 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表