Axure教程:可使用的計(jì)算器demo制作(上)

24 評(píng)論 38056 瀏覽 67 收藏 12 分鐘

文章分享了利用Axure計(jì)算器demo的制作過程,一起來看看吧!

運(yùn)用基礎(chǔ)運(yùn)算符號(hào),做一個(gè)簡(jiǎn)單的、可進(jìn)行有效運(yùn)算操作的計(jì)算器demo,增加學(xué)習(xí)axure的樂趣和滿足感。

這是個(gè)粗糙的gif效果,說干就干~

1、基礎(chǔ)組件設(shè)置

組件排布與命名

拖入矩形,設(shè)置矩形大小、文本、文本顏色、背景顏色(運(yùn)算符號(hào)鍵#F98D11、屏幕#202020、其他數(shù)字鍵等#CED0D2)

拖入輔助組件,判斷條件與第一個(gè)數(shù)矩形。

接著給組件命名,加減乘除運(yùn)算鍵分別命名為“加”、“減”、“乘”、“除”,小數(shù)點(diǎn)鍵命名為“點(diǎn)”,黑色屏幕矩形命名為“屏幕”,判斷條件矩形命名“判斷”,第一個(gè)數(shù)矩形命名為“第一個(gè)數(shù)”。

思路:可先拖入設(shè)置好一個(gè)矩形鍵樣式后,復(fù)制多個(gè)進(jìn)行排版,更改文本和對(duì)應(yīng)色值提高效率;判斷條件矩形用于輔助點(diǎn)擊數(shù)字鍵等后,屏幕顯示的規(guī)則(替換屏幕文本或連接屏幕文本字符串);第一個(gè)數(shù)矩形輔助記錄參與運(yùn)算的第一個(gè)數(shù)

設(shè)置組件樣式

點(diǎn)選上方截圖部分組件,設(shè)置鼠標(biāo)按下時(shí)填充顏色變化。

點(diǎn)選上方截圖所示運(yùn)算符號(hào),設(shè)置選中時(shí)線框粗細(xì)樣式變化,線框變粗。

2、數(shù)字鍵1、2、3…9的事件設(shè)置

點(diǎn)選數(shù)字7鍵(其他數(shù)字鍵1、2、3…、9也可),鼠標(biāo)單擊時(shí)事件,編輯條件,當(dāng)“判斷”文字等于“替換”時(shí),設(shè)置屏幕文字等于this.text。

接著,設(shè)置判斷文字為“連接”,確定。

繼續(xù)點(diǎn)選數(shù)字7鍵,添加單擊時(shí)用例,添加條件,當(dāng)判斷文字等于“連接”時(shí),設(shè)置屏幕文字為[[LVAR1]][[This.text]],其中LVAR1為原屏幕文字。

思路:計(jì)算器點(diǎn)選某數(shù)字鍵,如7時(shí),初始狀態(tài)時(shí)屏幕文字為0,點(diǎn)擊7,則屏幕文字替換為7,若再點(diǎn)擊一次7,則屏幕文字是在其7后面連接新按下的數(shù)字鍵盤文字,即顯示77。判斷矩形的文字則是用于判斷屏幕是替換文字還是連接文字。很明顯的,判斷矩形默認(rèn)值應(yīng)為“替換”,當(dāng)點(diǎn)擊下某個(gè)數(shù)字鍵后,再點(diǎn)擊,屏幕文字都應(yīng)為連接的操作,所以點(diǎn)擊數(shù)字鍵后,要設(shè)置判斷文字為“連接”。

則完成了數(shù)字鍵7的事件設(shè)置,將數(shù)字鍵7的事件,復(fù)制到其他數(shù)字鍵1、2、3、4、5、6、8、9、0上,完成這幾個(gè)鍵的事件設(shè)置。

3、修改數(shù)字鍵0的事件

點(diǎn)選數(shù)字鍵0,修改case 1事件條件,設(shè)置條件為當(dāng)判斷文字等于“替換”或屏幕文字等于“0”時(shí),滿足任意條件,則設(shè)置屏幕為this.text。

case 2事件保持不變

思路:0是一個(gè)特殊的數(shù)字鍵,僅當(dāng)屏幕文字不為0情況,才為連接操作,否則,點(diǎn)擊0,屏幕文字依然為0。所以不理解上述寫法的小伙伴,也可以把數(shù)字鍵0的事件寫成:當(dāng)屏幕文字不等于“0”時(shí),設(shè)置屏幕文字為為[[LVAR1]][[This.text]],其中LVAR1為原屏幕文字,否則,設(shè)置屏幕文字等于0。

4、小數(shù)點(diǎn)鍵事件設(shè)置

點(diǎn)選小數(shù)點(diǎn)鍵,單擊時(shí)事件,設(shè)置屏幕文字為為[[LVAR1]]. 其中LVAR1為原屏幕文字。

接著,設(shè)置判斷文字為“連接”,并禁用小數(shù)點(diǎn)鍵。

思路:為什么要禁用小數(shù)點(diǎn)鍵?因?yàn)橐粋€(gè)數(shù)字最多一個(gè)小數(shù)點(diǎn)。

5、設(shè)置運(yùn)算符號(hào)(加減乘除)事件

點(diǎn)選加號(hào)鍵,單擊時(shí),設(shè)置選中當(dāng)前元件,設(shè)置第一個(gè)數(shù)矩形文字為[[LVAR1]],LVAR1為原屏幕文字屏幕文字。

思路:當(dāng)點(diǎn)擊運(yùn)算符號(hào)時(shí),則參與運(yùn)算的第一個(gè)數(shù)是確定的,為當(dāng)前屏幕顯示的文字。再點(diǎn)擊其他數(shù)字鍵,則屏幕開始顯示第二個(gè)參與運(yùn)算的數(shù)字。此時(shí)需要先把第一個(gè)參與運(yùn)算的數(shù)記錄下來,這就是第一個(gè)數(shù)矩形的作用。

接著,設(shè)置判斷文字為“替換”。

再啟用小數(shù)點(diǎn),禁用加減乘除鍵。

思路:當(dāng)點(diǎn)擊運(yùn)算符號(hào)時(shí),屏幕要開始記錄第二個(gè)參與運(yùn)算的數(shù)字。所以判斷條件文字應(yīng)改為“替換”;若第一個(gè)數(shù)為小數(shù)情況,會(huì)禁用掉小數(shù)點(diǎn)鍵,此時(shí)應(yīng)該啟用小數(shù)點(diǎn),因?yàn)榈诙€(gè)參與運(yùn)算的數(shù)也可以是小數(shù);已經(jīng)確定運(yùn)算規(guī)則(加減乘除),則應(yīng)禁用掉這四個(gè)運(yùn)算符號(hào)鍵,等待到計(jì)算完成后重新啟用

此時(shí)則完成加號(hào)的事件設(shè)置,將加號(hào)的事件設(shè)置復(fù)制粘貼到減號(hào)、乘號(hào)、除號(hào)上,完成所有運(yùn)算符號(hào)鍵的事件設(shè)置。

6、等號(hào)鍵事件設(shè)置

點(diǎn)選等號(hào)鍵,單擊時(shí)事件,設(shè)置條件,當(dāng)選中狀態(tài),加號(hào)為選中true時(shí)。

設(shè)置加號(hào)為選中時(shí)事件,屏幕文字等于[[LVAR1+LVAR2]],LVAR1為第一個(gè)數(shù)文字,LVAR2為原屏幕文字。

接著設(shè)置判斷文字為“替換”,啟用小數(shù)點(diǎn)、加減乘除運(yùn)算鍵。

接著取消選中加減乘除運(yùn)算鍵,并確定。

確定后將上述寫好的case 1事件復(fù)制粘貼在等號(hào)鍵盤上,復(fù)制為4份。

修改第二份case 1事件,編輯條件,修改條件為減號(hào)選中時(shí),設(shè)置屏幕文字等于[[LVAR1-LVAR2]],LVAR1為第一個(gè)數(shù)文字,LVAR2為原屏幕文字,其他保持不變。

同理,修改第三份case 1事件,編輯條件,修改條件為乘號(hào)選中時(shí),設(shè)置屏幕文字等于[[LVAR1*LVAR2]],LVAR1為第一個(gè)數(shù)文字,LVAR2為原屏幕文字,其他保持不變。

修改第四份case 1事件,編輯條件,修改條件為除號(hào)號(hào)選中時(shí),設(shè)置屏幕文字等于[[LVAR1/LVAR2]],LVAR1為第一個(gè)數(shù)文字,LVAR2為原屏幕文字,其他保持不變。

則完成等號(hào)事件設(shè)置。

7、AC鍵事件設(shè)置

點(diǎn)選AC鍵,單擊時(shí)事件,設(shè)置屏幕文字為“0”,設(shè)置判斷文字為“替換”,啟用小數(shù)點(diǎn)、加減乘除運(yùn)算鍵,取消選中加減乘除運(yùn)算鍵,則完成AC鍵的事件設(shè)置。

此時(shí),除正負(fù)號(hào)鍵與%號(hào)鍵外,已完成了其他所有鍵操作,并可用于運(yùn)算使用。

效果如上,大功告成~

 

作者:五月,微信公眾號(hào):wuyuepd,歡迎交流學(xué)習(xí)~

本文由 @五月 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 可以連續(xù)加嗎? 1+1+1+1=4
    這樣的運(yùn)算

    來自北京 回復(fù)
  2. 大佬,我按照步驟來的,結(jié)果小數(shù)點(diǎn)有問題

    來自四川 回復(fù)
    1. 啥問題呀?我感覺有兩點(diǎn)要注意就好了第一點(diǎn)按小數(shù)點(diǎn)時(shí)判斷前面數(shù)字是不是非0第二點(diǎn)按小數(shù)點(diǎn)后要禁用這個(gè)按鈕等到按了運(yùn)算符號(hào)后重新啟用

      來自浙江 回復(fù)
    2. 啥問題呀?我感覺有兩點(diǎn)要注意就好了 第一點(diǎn) 按小數(shù)點(diǎn)時(shí)判斷前面數(shù)字是不是非0 第二點(diǎn) 按小數(shù)點(diǎn)后要禁用這個(gè)按鈕 等到按了運(yùn)算符號(hào)后重新啟用

      回復(fù)
  3. 點(diǎn)號(hào)的事件只能執(zhí)行一次,第二次執(zhí)行就不顯示點(diǎn)了,為什么呀,好急

    來自廣東 回復(fù)
    1. 估計(jì)是你執(zhí)行一次后就禁用了 沒有在合適的時(shí)機(jī)把它重新啟用

      來自浙江 回復(fù)
  4. [[LVAR1]]. 這東西 顯示不出來

    來自山東 回復(fù)
    1. 顯示不出來?指什么情況

      來自浙江 回復(fù)
  5. 大神,我完全按步驟來的 但是小數(shù)點(diǎn) 不對(duì)勁。。

    來自山東 回復(fù)
    1. 我也一樣,好急,放棄了

      來自廣東 回復(fù)
  6. 大神求教 等號(hào)點(diǎn)擊出現(xiàn)四個(gè)case 1來選擇 這是什么情況

    回復(fù)
    1. 你在等號(hào)上寫了四個(gè)事件了,我猜你寫的四個(gè)事件,都是if true,正確的應(yīng)該是只有第一個(gè)是if true,后面三個(gè)是else if …

      來自浙江 回復(fù)
  7. 厲害厲害,可以拿來練手,鍛煉邏輯和實(shí)戰(zhàn)能力~

    來自浙江 回復(fù)
  8. :mrgreen: 不過少了一個(gè)條件判斷,點(diǎn)完四則運(yùn)算后再點(diǎn)擊小數(shù)點(diǎn)會(huì)存在問題~

    來自上海 回復(fù)
    1. ?? 呀 發(fā)現(xiàn)了 改回來了,小數(shù)點(diǎn)事件,當(dāng)判斷為替換時(shí),設(shè)置屏幕文字為0.,設(shè)置判斷文字為連接,禁用小數(shù)點(diǎn),否則,設(shè)置屏幕文字為[[LVAR1]].,設(shè)置判斷文字為連接,禁用小數(shù)點(diǎn)

      來自浙江 回復(fù)
    2. :mrgreen: NICE

      來自上海 回復(fù)
    3. 如果四則運(yùn)算之后的結(jié)果就是有小數(shù)的,那再按小數(shù)時(shí),就會(huì)出現(xiàn)兩個(gè)小數(shù)。

      來自江蘇 回復(fù)
  9. 大神,請(qǐng)問一下,按步驟完成后,四則運(yùn)算出來的結(jié)果不對(duì),比如3+5屏幕顯示的都是[[LVAR1]]5,是等號(hào)的問題嗎

    來自浙江 回復(fù)
    1. 函數(shù)寫錯(cuò)了,以加號(hào)為例,函數(shù)寫的是[[LVAR1+LVAR2]],而不是[[LVAR]]+[[LVAR2]],[[]]里面的東西才是參與函數(shù)運(yùn)算的,[[LVAR]]+[[LVAR2]]是字符串的連接

      來自浙江 回復(fù)
    2. 好像是我在加事件中少了添加局部變量 ?? 感謝成果分享!希望看到更多作品!

      來自浙江 回復(fù)
    3. 這是效果預(yù)覽的連接,你可以看下http://tmp0wg.axshare.com

      來自浙江 回復(fù)
    4. 等號(hào)的事件,你可以看下帖子里的,你的是等號(hào)事件寫錯(cuò)了

      來自浙江 回復(fù)
  10. 感謝分享。

    來自北京 回復(fù)
    1. ??

      來自浙江 回復(fù)