写了个计算物理电表改装的小程序

写了个计算物理电表改装的小程序

创意 637 字 / 1 分钟

今天双十一,早上起来边将昨晚的购物车给清空了, 天猫的折扣还是可以的,12点前还是180多元,之后就降到了140多。

53秒破10亿真的不是吹的。

 

昨天本来想个小项目,但并不知道该写些什么。正好同学在看最近学的物理电表的改装,便让我试试。粗略想了一下应该还不难,便开始写了。因为电脑上只有Animate CC,所以就直接用AS3写帧上了。

UI界面如图:

Psy_UI

其实在界面交互等方面都不是问题,主要是改装时的物理计算公式并不太熟。

上网查了一下,又翻了下上课记得笔记(之前的发的 欧姆定律(2)学案不见了QAQ),总算是想起来一些了:

Psy-sovle

话说这图找了我好久...

 

最终代码如下:

import flash.events.MouseEvent;
import flash.text.TextField;
import flash.ui.Mouse;

var R: Number = 0;
var maxI: Number = 0;
var maxU: Number = 0;
var unit: Boolean = true; //true I   false U
var n: Number;
var lc: Number;
var newR: Number;

function onStart() {
	if (txt_R.text == "") {
		txt_log.text = "请输入电阻"
	} else if (txt_maxSize.text == "") {
		txt_log.text = "请输入量程"
	} else if (txt_max.text == "") {
		txt_log.text = "请输入满偏电流/电压"
	} else {
		R = Number(txt_R.text);
		lc = Number(txt_maxSize.text);
		
		
		if (RB_I.selected == true) {
			maxU = Number(txt_max.text);
			maxI = maxU / R;   
			txt_other.text = "满偏电流: "+String(maxI)

		} else if (RB_U.selected == true) {
			maxI = Number(txt_max.text);
			maxU = maxI * R;
			txt_other.text = "满偏电压: "+String(maxU)
		}
		calcute();
	}

}

function calcute(): void {
	if (unit) {
		//I
		n = lc / maxI
		newR = R / (n - 1)
		txt_log.text = "应该并连一个 " + newR.toString() + " 欧的电阻。"
		txt_log.text += "总电阻为 "+ String(R*newR / (R+newR)) +" 欧。"
	} else {
		//U
		n = lc / maxU
		newR = (n - 1) * R;
		txt_log.text = "应该串连一个 " + newR.toString() + " 欧的电阻。"
		txt_log.text += "总电阻为 "+ String(R+newR) +" 欧。"
	}
}
Btn_start.addEventListener(MouseEvent.CLICK, onClick);
function onClick(evt: MouseEvent): void {
	onStart();

}




RB_1.addEventListener(MouseEvent.CLICK, onRB);
RB_2.addEventListener(MouseEvent.CLICK, onRB);
function onRB(evt: MouseEvent): void {
	switch (evt.target) {
		case RB_1:
			unit = true;
			txt_unit.text = "A"
			break;
		case RB_2:
			unit = false;
			txt_unit.text = "V"
	}
}