Re: [問題] 我想請問計算機的問題....

看板Flash作者 (隨便啦)時間19年前 (2006/04/30 23:53), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《SIGMA420 (SWORDFISH)》之銘言: : 我剛看到了一個計算機的flash原始檔案 : 可是有的地方我看不太懂 : 想請問大大 : 他在場場景內放了一個主程式: : stop(); : var Result:Number = 0; : var LastOpd:Number = 0; : var LastOp:Number = 0; : var ClearFlag:Boolean = true; : function NumKeyPress(nn) { : if ( ClearFlag ) { : ClearFlag = false; : out.text = "0"; : } : if ( out.length < 8 ) { : out.text = String(Number(out.text)*10 + Number(nn)); : } : } : // : //------------------------------------- : function DoCalc(op,opd1,opd2) { : switch (op ) { : case 1://add : Result = opd1 + opd2; : break; : case 2://sub : Result = opd1 - opd2; : break; : case 3://mul : Result = opd1 * opd2; : break; : case 4://div : Result = int(opd1 / opd2); : break; : default: : Result = opd2; : break; : } : } : function OpPress(op) { : if ( !ClearFlag ) { : DoCalc(LastOp, LastOpd, Number(out.text)); : LastOpd = Result; : } : LastOp = op; : out.text=String(LastOpd); : ClearFlag = true; : } : 以上是計算機的主程式 : 在按鈕部分是 : on (release, keyPress "1") { : NumKeyPress('1'); : } : 然後他的加減乘除等於是 : on (release, keyPress "<Enter>") { : OpPress(0); : } : 這個是等於的 : 其他加他的OpPress(0)的括號就改成1、2、3、4 : 可是我不懂 : function NumKeyPress(nn) { : if ( ClearFlag ) { : ClearFlag = false; : out.text = "0"; 當ClearFlag是true時,儀表數字會歸零 第一次執行時已設成true,所以計算機一打開就有個0字,然後再變成false 以後每次按數字時,因為已設成false,所以就能輸入其他數字,不然他永遠會顯示0 : } : if ( out.length < 8 ) { : out.text = String(Number(out.text)*10 + Number(nn)); : } : } 你可以按實際的計算機看看,例如輸入5566: 輸入 out out.text*10 nn out.text 5 0 0 + 5 = 5 5 5 50 + 5 = 55 6 55 550 + 6 = 556 6 556 5560 + 6 = 5566 至於String的部份,因為out.text顧名思義是text,不是數字不能計算,所以先 Number(text)轉成數字,計算過後再用String轉成text,才能顯示。 : 這裡在寫什麼?? : 還有switch最後的地方 : 為什麼Result = opd2; : 那下面這一串又表示什麼呢?? : function OpPress(op) { : if ( !ClearFlag ) { : DoCalc(LastOp, LastOpd, Number(out.text)); : LastOpd = Result; : } : LastOp = op; : out.text=String(LastOpd); : ClearFlag = true; : } op就是加減乘除,打完數字不是要按加減乘除再按下個字嗎?,所以這邊switch就會 去看你是用哪個四則運算。OpPress會知道你的四則運算是什麼後,丟給DoCalu去做 實際的運算 我 寫 這 樣 還 不 夠 長 哦 ? : 請大大幫忙好嗎??拜託大家 謝謝^^~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.224.205

05/01 00:26, , 1F
阿阿阿~好感動~非常感謝你唷!!^^~阿哩阿哆
05/01 00:26, 1F
文章代碼(AID): #14LDrwLE (Flash)
文章代碼(AID): #14LDrwLE (Flash)