flash 面积计算器
第1帧代码:
var R:Number = 100;//半径
var cx:Number = Stage.width/2; //舞台中心x坐标
var cy:Number = Stage.height/2; //舞台中心y坐标
onEnterFrame = function () {
if (cx-R<_root._xmouse&&_root._xmouse<cx+R&&cy-R<_ymouse&&_ymouse<cy+R) {
id = 180*Math.atan2(_root._ymouse-cy, _root._xmouse-cx)/Math.PI; //中心到鼠标点的角度(度)
id2 = Math.atan2(_root._ymouse-cy, _root._xmouse-cx);//中心到鼠标点连线的角度(弧度)
//中心到鼠标点连线的角度(度)
point._rotation = id; //point是红点,影片剪辑.
xian._rotation = id; //xian是红直线,影片剪辑.
if (id2<0) {
id3 = -id2;
a = -id;
_root.shanarea.gotoAndStop(int(-id));
}
else {
id3 = 2*Math.PI-id2;
shanarea.gotoAndStop(int(360-id));
a = 360-id;
} //计算机角是顺时针由小到大,且在-180°~180°之间,扇形面积是逆时针由小到大的,因此要做如上处理.
_txt.text = (Math.round( 0.5*id3*R*R*100))/100; //扇形面积,保留两位小数.
_txt2.text =(0.5*id3/Math.PI)*100; //扇形面积与圆面积的比的百分数.
_txt3.text = a; //显示角度
}
else {
point._rotation = 0;
xian._rotation = 0;
shanarea.gotoAndStop(1);
a = "";
_txt.text ="";
_txt2.text ="";
_txt3.text =""; //当鼠标在圆所在的方框之外,返回到初始状态.
}
}
var cx:Number = Stage.width/2; //舞台中心x坐标
var cy:Number = Stage.height/2; //舞台中心y坐标
onEnterFrame = function () {
if (cx-R<_root._xmouse&&_root._xmouse<cx+R&&cy-R<_ymouse&&_ymouse<cy+R) {
id = 180*Math.atan2(_root._ymouse-cy, _root._xmouse-cx)/Math.PI; //中心到鼠标点的角度(度)
id2 = Math.atan2(_root._ymouse-cy, _root._xmouse-cx);//中心到鼠标点连线的角度(弧度)
//中心到鼠标点连线的角度(度)
point._rotation = id; //point是红点,影片剪辑.
xian._rotation = id; //xian是红直线,影片剪辑.
if (id2<0) {
id3 = -id2;
a = -id;
_root.shanarea.gotoAndStop(int(-id));
}
else {
id3 = 2*Math.PI-id2;
shanarea.gotoAndStop(int(360-id));
a = 360-id;
} //计算机角是顺时针由小到大,且在-180°~180°之间,扇形面积是逆时针由小到大的,因此要做如上处理.
_txt.text = (Math.round( 0.5*id3*R*R*100))/100; //扇形面积,保留两位小数.
_txt2.text =(0.5*id3/Math.PI)*100; //扇形面积与圆面积的比的百分数.
_txt3.text = a; //显示角度
}
else {
point._rotation = 0;
xian._rotation = 0;
shanarea.gotoAndStop(1);
a = "";
_txt.text ="";
_txt2.text ="";
_txt3.text =""; //当鼠标在圆所在的方框之外,返回到初始状态.
}
}
影片剪辑shanarea显示蓝色面积,共360帧,是逐帧做的。下面的算式计算器是个影片剪辑shan,它的第1帧的代码如下:
//btn是等号按钮.
btn.onRelease=function(){
var s1=Number(_txt4.text);//输入半径
var s2=Number(_txt5.text);//;输入角度
_txt6=(Math.round(0.5*s1*s1*s2*100*Math.PI/180))/100; //扇形面积,保留两位小数.
}
btnc.onRelease=function(){ //btnc是清除按钮
_txt4.text=_txt5.text=_txt6="";
};
_txt4.restrict = "0-9,.";
_txt5.restrict = "0-9,.";
btn.onRelease=function(){
var s1=Number(_txt4.text);//输入半径
var s2=Number(_txt5.text);//;输入角度
_txt6=(Math.round(0.5*s1*s1*s2*100*Math.PI/180))/100; //扇形面积,保留两位小数.
}
btnc.onRelease=function(){ //btnc是清除按钮
_txt4.text=_txt5.text=_txt6="";
};
_txt4.restrict = "0-9,.";
_txt5.restrict = "0-9,.";
请大家多指点!
补充:flash教程,As3.0