然后把这代码添到第一帧:
我提供了2种方法,感觉你给的点按钮添加线速度太慢,自己写了另一个自动画的方法。楼主若不嫌点按钮太慢,可以把动画处理方法
的/* */去掉,再运行看看。
本人已测试通过,测试flash软件为flash cs5 用ActionScript3写的代码。
import flash.display.Shape;
import flash.events.MouseEvent;
var r:int = 100;
var angle:Number = 0;
var shape:Shape =new Shape();
addChild(shape);
shape.x = stage.stageWidth/2;
shape.y = stage.stageHeight/2;
shape.graphics.lineStyle(0);
//自己按按钮方法
copybtn.addEventListener(MouseEvent.CLICK, clickBtn);
function clickBtn(evt:MouseEvent):void
{
var ra:Number = Math.PI*angle/180;
shape.graphics.lineTo(r*Math.sin(ra),r*Math.cos(ra));
shape.graphics.moveTo(0,0);
angle += 0.5;
if(angle>=360)
{
angle=0;
}
}
//动画处理方法
/*addEventListener(Event.ENTER_FRAME, pro);
function pro(evt:Event):void
{
var ra:Number = Math.PI*angle/180;
shape.graphics.lineTo(r*Math.sin(ra),r*Math.cos(ra));
shape.graphics.moveTo(0,0);
angle += 0.4;
if(angle>361)
{
removeEventListener(Event.ENTER_FRAME, pro);
}
}
*/
//这个是as 3.0的:
var angle:Number =0;
var rad:Number =30;//每次旋转的角度,可以自己自行修改
var radium:Number = 100;//圆的半径,可以自己自行修改
var sprite:Sprite = new Sprite();
btn.addEventListener(MouseEvent.CLICK,clickHandler);//btn是你的按钮的实例名称
function clickHandler(e:Event)
{
graphics.lineStyle(1);
graphics.moveTo(275,200);
sprite.x =275+Math.sin(angle)*radium;
sprite.y = 200+Math.cos(angle)*radium;
graphics.lineTo(sprite.x,sprite.y);
angle+=rad*Math.PI/180;
}
// 这个是as 2.0的版本
vr=0;
var obj:Object = new Object();
btn.onRelease = function()
{
lineStyle(1);
moveTo(550/2,200);
obj._x= 550/2+Math.sin(vr)*50;
obj._y = 400/2+Math.cos(vr)*50;lineTo(obj._x,obj._y)
vr+=0.1;
}
这种方法是不能实现一个实心圆的。形成的圆中心地倒是实心的,但是外围是虚的。