flash on 2011-9-3
/**
* Copyright califa010.flashcoders ( http://wonderfl.net/user/califa010.flashcoders )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/s8Mv
*/
package {
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.text.TextField;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public var ab_txt:TextField;
public var bc_txt:TextField;
public var cd_txt:TextField;
public var da_txt:TextField;
public var ac_txt:TextField;
private var btn:Sprite;
private var result_txt:TextField;
private var debug_txt:TextField;
public function FlashTest() {
// write as3 code here..
createUI();
}
private function createUI():void {
ab_txt = createField("AB",0);
bc_txt = createField("BC",1);
cd_txt = createField("CD",2);
da_txt = createField("DA",3);
ac_txt = createField("AC",4);
createBtn();
result_txt = createField("área",8);
result_txt.type = "dynamic";
debug_txt = new TextField();
debug_txt.width = 200;
debug_txt.height = 200;
debug_txt.y = 200;
debug_txt.multiline = true;
// addChild(debug_txt);
debug_txt.border = true;
}
private function createBtn():void {
btn = new Sprite();
btn.graphics.beginFill(0);
btn.graphics.drawRect(0,0,100,20);
btn.graphics.endFill();
var label:TextField = new TextField();
label.text = "Calcular";
label.textColor = 0xffffff;
btn.addChild(label);
addChild(btn);
btn.y = 120;
btn.x = 50;
btn.mouseEnabled = btn.useHandCursor = btn.buttonMode = true;
btn.mouseChildren = false;
btn.addEventListener(MouseEvent.CLICK,handleClick);
}
private function createField(label:String,pos:int):TextField {
var inputTf:TextField = new TextField();
inputTf.type = "input";
inputTf.width = 100;
inputTf.height = 20;
inputTf.border = true;
inputTf.restrict = "0-9.";
var lbl:TextField = new TextField();
lbl.text = label;
lbl.width = 40;
lbl.height = 20;
inputTf.x = 50;
inputTf.y = 20 * pos;
lbl.y = 20 * pos;
addChild(lbl);
addChild(inputTf);
return inputTf;
}
private function handleClick(e:MouseEvent):void {
calculate();
}
private function calculate():void {
var ab:Number = parseFloat(ab_txt.text);
var bc:Number = parseFloat(bc_txt.text);
var cd:Number = parseFloat(cd_txt.text);
var da:Number = parseFloat(da_txt.text);
var ac:Number = parseFloat(ac_txt.text);
if(isNaN(ab) || ab < 0) {
return;
}
if(isNaN(bc) || bc < 0) {
return;
}
if(isNaN(cd) || cd < 0) {
return;
}
if(isNaN(da) || da < 0) {
return;
}
if(isNaN(ac) || ac < 0) {
return;
}
var triangle_1:Number = getArea(ab,bc,ac);
var triangle_2:Number = getArea(cd,da,ac);
var area:Number = triangle_1 + triangle_2;
debug_txt.text = "";
debugLine("triangulo 1:" + triangle_1.toString());
debugLine("triangulo_2:" + triangle_2.toString());
result_txt.text = area.toString();
}
private function debugLine(text:String):void {
debug_txt.appendText(text + "\n");
debug_txt.scrollV = debug_txt.maxScrollV;
}
private function getArea(a:Number,b:Number,c:Number):Number {
return Math.sqrt( (a + b - c) * (a - b + c) * (-a + b + c) * (a + b + c) ) / 4;
}
}
}