论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

flash直线方程教程

文章类别:Flash AS | 发表日期:2009-4-23 8:04:40

直线方程:


直线方程
今天放假了,没什么X事,记起闪友问过一个直线方程的问题:“输入两点画直线”。因此粗粗做了一个。
/*

作者: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;

};
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058