如何使用AS3制作簡易計算器(第二部分)
在學習FLASH代碼開發(fā)時,對于數(shù)學表達式的理解和應(yīng)用也非常常見。在上一篇文章中,我們已經(jīng)完成了計算器按鈕等元素的制作?,F(xiàn)在,讓我們來編寫代碼,實現(xiàn)計算器的基本功能——加減乘除運算。變量定義和初始化首
在學習FLASH代碼開發(fā)時,對于數(shù)學表達式的理解和應(yīng)用也非常常見。在上一篇文章中,我們已經(jīng)完成了計算器按鈕等元素的制作?,F(xiàn)在,讓我們來編寫代碼,實現(xiàn)計算器的基本功能——加減乘除運算。
變量定義和初始化
首先,我們需要定義一些變量來存儲計算結(jié)果、數(shù)字按鈕的數(shù)量、輸入文字、計算方式以及是否處于輸入狀態(tài)。當計算方式發(fā)生變化時,程序?qū)⒆詣訉χ暗慕Y(jié)果進行合算。
代碼如下:
```
var end_num:Number 0;
var num_count:int 10;
var numAry:Array new Array();
var jisuan_id:int 0;
var isEdit:Boolean true;
```
初始化按鈕
接下來,我們需要初始化各個按鈕。代碼如下:
```
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ù)字鍵的鼠標事件
為了方便,我們對鼠標點擊事件進行分類,例如數(shù)字鍵使用同一個事件處理函數(shù),計算鍵使用同一個事件處理函數(shù)。
首先是數(shù)字鍵的鼠標事件。代碼如下:
```
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ù)點輸入按鈕的功能
為了允許輸入小數(shù)點,我們需要添加相應(yīng)的代碼。代碼如下:
```
function InputPoint(e:MouseEvent):void {
var str:String txt.text;
if ((".") -1) {
(".");
}
}
```
更新數(shù)字輸入功能
由于添加了小數(shù)點輸入功能,我們需要對數(shù)字輸入代碼進行調(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ù)講解計算按鈕的功能代碼編寫。