11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 1856|回复: 0
上一主题 下一主题

[高级教程] 【9RIA—沐枫】—【基础小知识】第17节(布朗运动)

[复制链接] TA的其它主题
发表于 2018-2-6 20:35:38 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

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

x
本帖最后由 TKCB 于 2018-2-6 20:37 编辑

转载:9RIA游戏开发者社区(天地会)
作者:沐枫(原天地会大神)


【基础小知识】系列教程(总目录)——沐枫大神出品


先看效果:



代码奉上:
[Actionscript3] 纯文本查看 复制代码
package
{
import flash.display.Sprite;
import flash.events.Event;

public class Brownian2 extends Sprite
{
  private var numDots:uint = 20;
  private var friction:Number = 0.95;
  private var dots:Array;
  
  public function Brownian2()
  {
   dots = new Array();
   for (var i:uint = 0; i < numDots; i++) 
   {
    var dot:Ball = new Ball(1, 0);
    dot.x = Math.random() * stage.stageWidth;//随机分布
    dot.y = Math.random() * stage.stageHeight;
    dot.vx = 0;
    dot.vy = 0;
    addChild(dot);
    dots.push(dot);
   }
   graphics.lineStyle(0, 0, 0.2);//绘制路径
   addEventListener(Event.ENTER_FRAME, onEnterFrame);
  }
  
  private function onEnterFrame(event:Event):void 
  {
   for (var i:uint = 0; i < numDots; i++) 
   {
    var dot:Ball = dots[i];
    graphics.moveTo(dot.x, dot.y);
    dot.vx += Math.random() * 0.2 - 0.1;//随机速度向量
    dot.vy += Math.random() * 0.2 - 0.1;
    dot.x += dot.vx;//移动
    dot.y += dot.vy;
    dot.vx *= friction;
    dot.vy *= friction;//摩擦力
    graphics.lineTo(dot.x, dot.y);
   }
  }
}
}



下载:
布朗运动.zip (22.26 KB, 下载次数: 4)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



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