如何在Axure中使用“循環(huán)”

0 評(píng)論 4763 瀏覽 11 收藏 7 分鐘

在使用Axure過(guò)程中,我們時(shí)常會(huì)用到循環(huán),但Axure RP并沒(méi)有內(nèi)置的循環(huán)功能,所以我們需要使用 Axure 的交互和變量功能來(lái)模擬循環(huán)。本文總結(jié)了如何在Axure中使用“循環(huán)”,希望對(duì)你有所啟發(fā)。

前言

在使用Axure的過(guò)程中,我們時(shí)常會(huì)需要用到循環(huán):

  • 有的需要永久循環(huán)(例:時(shí)鐘)
  • 有的需要固定循環(huán)N次(例:動(dòng)態(tài)百分比進(jìn)度條)
  • 有的循環(huán)還需要手動(dòng)臨時(shí)暫停且可繼續(xù)(例:秒表)
  • 有的需要多個(gè)循環(huán)嵌套(例:生成九九乘法表)
  • 有的循環(huán)還要根據(jù)不同的條件循環(huán)不同的次數(shù)(例:密碼強(qiáng)度校驗(yàn))

而現(xiàn)實(shí)是: Axure RP并沒(méi)有內(nèi)置的循環(huán)功能,所以我們需要使用 Axure 的交互和變量功能來(lái)模擬循環(huán)。

一、原理

其實(shí)Axure循環(huán)的原理也非常簡(jiǎn)單,主要分兩大類:

  1. 第一類就是使用“觸發(fā)事件”反復(fù)觸發(fā)同一個(gè)交互,優(yōu)點(diǎn)是方便,通常一個(gè)元件就可以搞定大功能。
  2. 第二類就是利用“動(dòng)態(tài)面板”的“面板狀態(tài)改變時(shí)”,優(yōu)點(diǎn)是可以方便的啟動(dòng)和停止循環(huán)。

當(dāng)然也有一些“另類”的方法,比如:利用中繼器。

反正能實(shí)現(xiàn)功能就是好方法。

二、時(shí)鐘(利用“觸發(fā)事件”)

最簡(jiǎn)單的例子可能要屬做一個(gè)動(dòng)態(tài)的實(shí)時(shí)數(shù)字時(shí)鐘了,這是一個(gè)永久循環(huán),簡(jiǎn)單到只用一個(gè)“文本標(biāo)簽”就可以實(shí)現(xiàn):

文字內(nèi)容和樣式依個(gè)人喜好定制交互也非常簡(jiǎn)單,只使用一個(gè)“載入時(shí)”就夠了。

“設(shè)置文本”那里,填入:

[[“0”.concat(Now.getHours()).substr(-2)]]:[[“0”.concat(Now.getMinutes()).substr(-2)]]:[[“0”.concat(Now.getSeconds()).substr(-2)]]

這就完成啦,是不是非常簡(jiǎn)單?如果你需要在“載入時(shí)”完成其它操作而不想進(jìn)行循環(huán),也可以把循環(huán)體的內(nèi)容綁定到其他用不到的交互上:

將循環(huán)體獨(dú)立出來(lái)

同樣的,如果你有“時(shí)針、分針、秒針的UI設(shè)計(jì)”也可以做成模擬時(shí)鐘的樣子,說(shuō)白了就是交互里多加入指針的旋轉(zhuǎn)。

二、秒表(利用“面板狀態(tài)改變時(shí)”)

目前中文Axure關(guān)于秒表幾乎都是用“定時(shí)+1”去實(shí)現(xiàn)的,這其中就有一個(gè)很大的問(wèn)題,時(shí)間不準(zhǔn)?。?!當(dāng)頁(yè)面元件過(guò)多或者電腦性能不足時(shí),真實(shí)世界過(guò)了好幾秒了原型才過(guò)1秒。

接下來(lái)教你怎樣做一個(gè)更“實(shí)時(shí)”的秒表,首先,我們添加兩個(gè)個(gè)全局變量:

  1. sw_timer默認(rèn)值為0
  2. sw_start默認(rèn)值空

然后拖出3個(gè)按鈕(啟動(dòng)Start、暫停Pause、重置Reset),1個(gè)文本標(biāo)簽(用來(lái)顯示),1個(gè)動(dòng)態(tài)面板(Loop用來(lái)循環(huán)):

動(dòng)態(tài)面板建兩個(gè)空狀態(tài)

“動(dòng)態(tài)面板Loop”的交互為:

“設(shè)置文本”那里填入:

[[“0”.concat(Math.floor(sw_timer/60000)).substr(-2)]]:[[“0”.concat(Math.floor(sw_timer/1000)%60).substr(-2)]].[[“00”.concat(Math.floor(sw_timer%1000)).substr(-3)]]

“啟動(dòng)Start”按鈕的交互為:

“暫停Pause”的交互為:

“復(fù)位Reset”的交互為:

雖然元件有點(diǎn)多,但是也不是很難對(duì)吧?這個(gè)秒表的原理是計(jì)算當(dāng)前時(shí)間啟動(dòng)時(shí)間的差,好處是準(zhǔn)確,就算電腦卡機(jī),下一次循環(huán)也會(huì)自動(dòng)更正時(shí)間,再也不會(huì)出現(xiàn)慢幾拍的情況。

三、密碼強(qiáng)度校驗(yàn)(不定長(zhǎng)文字循環(huán)判斷)

這個(gè)部分我單獨(dú)寫了一篇文章,《Axure中的密碼強(qiáng)度校驗(yàn)》。

小結(jié):

Axure的循環(huán)其實(shí)并不高深,想通了就非常容易。

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

題圖來(lái)自 Unsplash,基于 CC0 協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!