/*
作者:sxl001 QQ:285510591
欢迎光临 sxl001.xfyun.com
*/
import flash.filters.DropShadowFilter;//滤镜,增加点效果
var d_filters:DropShadowFilter = new DropShadowFilter(3, 45, 0x000000, 60, 5, 5);
showAll(Number(x1.text), Number(y1.text), Number(x2.text), Number(y2.text));//显示点与直线
fuanzhang.gotoAndStop(2);//右边两个按钮
showInputTxt.gotoAndStop(2);
_btn.onPress = function() {//输入两点坐标时提交按钮
if (x1.text != "" && y1.text != "" && x2.text != "" && y2.text != "") {
showAll(Number(x1.text), Number(y1.text), Number(x2.text), Number(y2.text));
} else {
//请输入完整!
}
};
var drag:Boolean = false;
for (var i:Number = 1; i<3; i++) {
this["p"+i].onPress = function() {//两个小红点拖动与否
startDrag(this);
drag = true;
};
this["p"+i].onRelease = this["p"+i].onReleaseOutside=function () {
stopDrag();
drag = false;
};
}
onEnterFrame = function () {
if (drag) {//拖动两点时绘制作直线与相关的提示图形
var x1:Number = Math.floor(p1._x*100)/100, y1:Number = -Math.floor(p1._y*100)/100, x2:Number = Math.floor(p2._x*100)/100, y2:Number = -Math.floor(p2._y*100)/100;
showAll(x1, y1, x2, y2);
}
};
//绘图主函数
function showAll(_x1:Number, _y1:Number, _x2:Number, _y2:Number) {
var xx1:Number = _x1;
var yy1:Number = -_y1;
var xx2:Number = _x2;
var yy2:Number = -_y2;
var xNum:Number = xx1-xx2;
var yNum:Number = yy1-yy2;
var s:Number = Math.atan2(yNum, xNum);
line._x = p1._x=xx1;
line._y = p1._y=yy1;
p2._x = xx2;
p2._y = yy2;
x1.text = xx1;
y1.text = -yy1;
x2.text = xx2;
y2.text = -yy2;
if (xx1 != xx2 && yy1 != yy2) {
var k1:Number = -Math.round(yNum/xNum*100)/100;
var b1:Number = -Math.round(yy1-yNum/xNum*xx1);
if (b1>0) {
if (k1 == 0) {//显示直线方程式子
var str1:String = "y="+String(b1);
fanzhang_mc._txt.text = str1;
} else {
var str1:String = "y="+String(k1)+"x+"+String(b1);
fanzhang_mc._txt.text = str1;
}
} else if (b1 == 0) {
if (k1 == 0) {
var str1:String = "y="+String(b1);
fanzhang_mc._txt.text = str1;
} else {
var str1:String = "y="+String(k1)+"x";
fanzhang_mc._txt.text = str1;
}
} else {
if (k1 == 0) {
var str1:String = "y="+String(b1);
fanzhang_mc._txt.text = str1;
} else {
var str1:String = "y="+String(k1)+"x"+String(b1);
fanzhang_mc._txt.text = str1;
}
}
} else if (xx1 == xx2 && xx1 != 0) {
fanzhang_mc._txt.text = "x="+String(xx1);
} else if (yy1 == yy2 && yy1 != 0) {
fanzhang_mc._txt.text = "y="+String(yy1);
} else if (xx1 == 0 && xx2 == 0) {
fanzhang_mc._txt.text = "x=0";
} else if (yy1 == 0 && yy2 == 0) {
fanzhang_mc._txt.text = "y=0";
}
fanzhang_mc._txt.autoSize = "center";
fanzhang_mc.txtBg_mc._width = fanzhang_mc._txt._width+20;
line._rotation = s*180/Math.PI;
drawRectView(xx1, yy1, 0);//画提示图形
drawRectView(xx2, yy2, 1);
}
//........画提示图形........................................................
function drawRectView(x:Number, y:Number, i:Number) {
this["view"+i].removeMovieClip();
var color:Number;
if (i == 0) {
color = 0x0F84F9;
} else {
color = 0x66EE2B;
}
this.createEmptyMovieClip("view"+i, this.getNextHighestDepth());
with (this["view"+i]) {
lineStyle(1, 0xE27125, 100);
beginFill(color, 60);
moveTo(0, 0);
lineTo(x, 0);
lineTo(x, y);
lineTo(0, y);
lineTo(0, 0);
endFill();
}
//-----------显示两红点坐标文本........................
this["t"+i].removeTextField();
this.createTextField("t"+i, this.getNextHighestDepth(), x-30, y-23, 100, 23);
var y0:Number = -y;
this["t"+i].text = "("+x+","+y0+")";
this["t"+i].autoSize = "left";
}
var input:Boolean = true, fz:Boolean = false;
mask_mc._visible = false;
showInputTxt.onPress = function() {
this.play();//输入文本框显示与否
if (!input) {
_btn.enabled = true;
mask_mc._visible = false;
} else {
_btn.enabled = false;
mask_mc._visible = true;
}
input = !input;
};
close_btn.onPress = function() {//关闭输入文本框
mask_mc._visible = true;
input = false;
showInputTxt.gotoAndStop(1);
};
fanzhang_mc.filters = [d_filters];
fuanzhang.onPress = function() {//方程显示与否
this.play();
if (fz) {
fanzhang_mc._visible = true;
} else {
fanzhang_mc._visible = false;
}
fz = !fz;
};