基础:Math.random() * 200 - 100;

package
{
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
private var numDots:uint = 20;
private var friction:Number = 0.95;
private var dots:Array;
public function Main()
{
init();
}
private function init():void
{
graphics.lineStyle(0, 0, .5);
dots = new Array();
for (var i:uint = 0; i < numDots; i++)
{
var dot:Ball = new Ball();
dot.x = Math.random() * stage.stageWidth;
dot.y = Math.random() * stage.stageHeight;
dot.vx = 0;
dot.vy = 0;
addChild(dot);
dots.push(dot);
}
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);
if (dot.x > stage.stageWidth)
{
dot.x = 0;
}
else if (dot.x < 0)
{
dot.x = stage.stageWidth;
}
if (dot.y > stage.stageHeight)
{
dot.y = 0;
}
else if (dot.y < 0)
{
dot.y = stage.stageHeight;
}
}
}
}
}
import flash.display.Sprite;
class Ball extends Sprite
{
public var vx:Number;
public var vy:Number;
public function Ball():void
{
this.graphics.beginFill(0);
this.graphics.drawCircle(0, 0, 2);
this.graphics.endFill();
}
}
{
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
private var numDots:uint = 20;
private var friction:Number = 0.95;
private var dots:Array;
public function Main()
{
init();
}
private function init():void
{
graphics.lineStyle(0, 0, .5);
dots = new Array();
for (var i:uint = 0; i < numDots; i++)
{
var dot:Ball = new Ball();
dot.x = Math.random() * stage.stageWidth;
dot.y = Math.random() * stage.stageHeight;
dot.vx = 0;
dot.vy = 0;
addChild(dot);
dots.push(dot);
}
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);
if (dot.x > stage.stageWidth)
{
dot.x = 0;
}
else if (dot.x < 0)
{
dot.x = stage.stageWidth;
}
if (dot.y > stage.stageHeight)
{
dot.y = 0;
}
else if (dot.y < 0)
{
dot.y = stage.stageHeight;
}
}
}
}
}
import flash.display.Sprite;
class Ball extends Sprite
{
public var vx:Number;
public var vy:Number;
public function Ball():void
{
this.graphics.beginFill(0);
this.graphics.drawCircle(0, 0, 2);
this.graphics.endFill();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述