如何使用AS3制作簡易計(jì)算器(第二部分)
在學(xué)習(xí)FLASH代碼開發(fā)時(shí),對(duì)于數(shù)學(xué)表達(dá)式的理解和應(yīng)用也非常常見。在上一篇文章中,我們已經(jīng)完成了計(jì)算器按鈕等元素的制作。現(xiàn)在,讓我們來編寫代碼,實(shí)現(xiàn)計(jì)算器的基本功能——加減乘除運(yùn)算。變量定義和初始化首
在學(xué)習(xí)FLASH代碼開發(fā)時(shí),對(duì)于數(shù)學(xué)表達(dá)式的理解和應(yīng)用也非常常見。在上一篇文章中,我們已經(jīng)完成了計(jì)算器按鈕等元素的制作?,F(xiàn)在,讓我們來編寫代碼,實(shí)現(xiàn)計(jì)算器的基本功能——加減乘除運(yùn)算。
變量定義和初始化
首先,我們需要定義一些變量來存儲(chǔ)計(jì)算結(jié)果、數(shù)字按鈕的數(shù)量、輸入文字、計(jì)算方式以及是否處于輸入狀態(tài)。當(dāng)計(jì)算方式發(fā)生變化時(shí),程序?qū)⒆詣?dòng)對(duì)之前的結(jié)果進(jìn)行合算。
代碼如下:
```
var end_num:Number 0;
var num_count:int 10;
var numAry:Array new Array();
var jisuan_id:int 0;
var isEdit:Boolean true;
```
初始化按鈕
接下來,我們需要初始化各個(gè)按鈕。代碼如下:
```
initBtn();
function initBtn():void {
txt.text "0";
for (var i:int 0; i < num_count; i ) {
this["num" i].addEventListener(, ChangeNumber);
}
num_(, InputPoint);
btn_(, ChangeState);
btn_(, ChangeState);
btn_(, ChangeState);
btn_(, ChangeState);
btn_(, ClearEvent);
btn_(, GetEnd);
}
```
數(shù)字鍵的鼠標(biāo)事件
為了方便,我們對(duì)鼠標(biāo)點(diǎn)擊事件進(jìn)行分類,例如數(shù)字鍵使用同一個(gè)事件處理函數(shù),計(jì)算鍵使用同一個(gè)事件處理函數(shù)。
首先是數(shù)字鍵的鼠標(biāo)事件。代碼如下:
```
function ChangeNumber(e:MouseEvent):void {
var obj:Object ;
var t:int int((3));
if (isEdit true) {
if (Number(txt.text) 0) {
txt.text ();
} else {
(());
}
} else {
txt.text ();
isEdit true;
}
}
```
清除按鈕的功能
我們還需要給清除按鈕編寫功能代碼。代碼如下:
```
function ClearEvent(e:MouseEvent):void {
isEdit true;
txt.text "0";
numAry new Array();
}
```
小數(shù)點(diǎn)輸入按鈕的功能
為了允許輸入小數(shù)點(diǎn),我們需要添加相應(yīng)的代碼。代碼如下:
```
function InputPoint(e:MouseEvent):void {
var str:String txt.text;
if ((".") -1) {
(".");
}
}
```
更新數(shù)字輸入功能
由于添加了小數(shù)點(diǎn)輸入功能,我們需要對(duì)數(shù)字輸入代碼進(jìn)行調(diào)整。代碼如下:
```
function ChangeNumber(e:MouseEvent):void {
var obj:Object ;
var t:int int((3));
if (isEdit true) {
if (Number(txt.text) 0) {
var str:String txt.text;
if ((".") -1) {
txt.text ();
} else {
(());
}
} else {
(());
}
} else {
numAry.push(Number(txt.text));
txt.text ();
isEdit true;
}
}
```
到此為止,我們已經(jīng)完成了數(shù)字相關(guān)的輸入功能。在下一篇文章中,我們將繼續(xù)講解計(jì)算按鈕的功能代碼編寫。