Draw Circle 沿着圆运动~
package {
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Sprite;
public class Test extends Sprite {
//计数器
private var vx:Number=0;
private var vy:Number=0;
///////////////////////////
private var boo:Boolean=true;
//移动速度
private var xspeed:Number=0.05;
private var yspeed:Number=0.05;
//起始点 (半径大小)
private var xpoint:Number=stage.stageWidth/2+25;
private var ypoint:Number=stage.stageHeight/2;
//圆心
private var X:Number=stage.stageWidth/2;
private var Y:Number=stage.stageHeight/2;
//半径 公式:半径=开方((X1-X2)的平方+(Y1-Y2)的平方)
private var r:Number=Math.sqrt((X-xpoint)*(X-xpoint)+(Y-ypoint)*(Y-ypoint));
public function Test():void {
init();
}
private function init():void {
addEventListener(Event.ENTER_FRAME,enterhs);
stage.addEventListener(MouseEvent.CLICK,clickhs);
}
private function enterhs(evt:Event):void {
this.graphics.lineStyle(1,0x000000,1);
this.graphics.moveTo(xpoint,ypoint);
///////////公式:起始点X坐标=圆心X坐标+COS(移动速度)*半径
vx+=xspeed
vy+=yspeed
trace(vx)
xpoint=X+Math.cos(vx)*r;
ypoint=Y+Math.sin(vy)*r;
trace(Math.round(xpoint)+"======================XS")
this.graphics.lineTo(xpoint, ypoint);
//this.graphics.drawCircle(xpoint,ypoint,50);
if(Math.round(xpoint)==25)
removeEventListener(Event.ENTER_FRAME,enterhs);
}
private function clickhs(evt:MouseEvent):void {
if (boo) {
boo=false;
removeEventListener(Event.ENTER_FRAME,enterhs);
} else {
boo=true;
addEventListener(Event.ENTER_FRAME,enterhs);
}
}
}
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步