Axure:文字跑馬燈效果

27 評論 32995 瀏覽 29 收藏 8 分鐘

日常學習之——跑馬燈的效果~希望內容能對大家有幫助。

效果如下圖 o(* ̄▽ ̄*)o

思路:

  1. 文字元件移動+動畫效果,實現滾動的效果;
  2. 利用動態面板控制跑馬燈文字在規定區域內滾動;
  3. 設置文字的初始位置、?移動的終點位置,合適的動畫時間(即文字滾動速度);
  4. 最后一個字從視野里消失后,文字從右側重新滾動,將文字元件移動到控制面板的右側;
  5. 通過動態面板的顯示與隱藏,觸發循環機制。

動態面板是個好東西~下面介紹axure通過動態面板實現跑馬燈~

一 、拖一個控制面板到畫布,設置合適的大小,作為跑馬燈文字滾動的區域

雙擊控制面板,打開一個面板狀態頁,增加一個文字元件,輸入內容,內容要長長長。

如下圖:

動態面板的作用是限制跑馬燈文字在規定區域內滾動,面板中的元件文字移動的范圍超出面板時,也不會顯示在畫布當中。

我想要的效果是,初始狀態的時候文字就在視野中,所以文字放在與面板左側對齊的位置。如果想要從視野外滾動到視野內,可以將文字元件拖放到面板右側。

如下圖:

二、設置文字移動的交互事件

選擇面板的“載入時”事件,添加用例的觸發動作,如下圖:

等待1000毫秒。這個不重要,只是用來控制頁面加載完,過1秒才滾動文字。

移動文字到(x,y)。

  1. 參考坐標系選擇絕對位置。
  2. 文字元件的x值:文字元件是以動態面板的坐標系進行移動的,動態面板的起點是(0,0),文字完全從面板面板中移出,即向左位移文字元件的長度等于文字元件的寬度,x=0-文字元件.width,即x=0-Target.width;
  3. 文字元件的y值:水平向左平移,y的值一直不變,是原始y的值,即文字頂部到邊緣的距離,y=Target.top;
  4. 動畫選擇線性:時間設置為 10000ms。線性是為了使文字元件勻速滾動,10000ms是調試一個合適的滾動的速度,與視線掃描滾動文字的速度差不多即可。
  5. 添加邊界:設置右側<0。即設置文字元件向左平移,元件右側需要離開面板,即文字元件最后一個字離開視野范圍。

等待10000毫秒。這個時間與2)中設置的動畫時間一樣,即文字滾動結束,離開視野。設置等待時間,是為了文字移動完全結束,不被接下來的步驟影響。因為axure事件執行是從上到下順序執行,所以等待時間一定在【5】事件之前,否則移動未結束,動態面板先被隱藏了。

移動文字到(x,y)。這個步驟的移動,是將文字移動到面板右側的位置,是文字一周滾動結束的復位,接下來文字將重新從右側進入視野。

隱藏動態面板。通過動態面板的隱藏和顯示,觸發文字移動事件的循環。這個還要具體看動態面板隱藏和顯示事件設置的用例,通過用例,詳細說明如何觸發循環機制。

以上設置完成,進行預覽,文字可以滾動成功,但是你會發現,文字從視野內消失后,一去不復返了。

需要進行一些其他設置,使文字能夠循環滾動,在面板的顯示和隱藏事件中增加用例。

如下圖:

“顯示時”事件添加的動作和“載入時”事件一樣,除了動畫時間以及等待的時間加長了。這是因為文字復位后的位置(面板右側),比初始位置(與面板左側對齊),多了一個面板的寬度。

從起始位置到文字消失的終點位置,位移距離增大,所以時間需要加長,使滾動速度保持和初始滾動差不多。如果時間保持不變,移動速度會加快。

如下圖:

灰色指代面板,模擬文字的3個位置狀態,分別是:

  1. 初始位置;
  2. 文字移動到視野外,停止移動;
  3. 文字復位,移動到面板右側。

  • “載入時”最后一個動作是,將動態面板隱藏。
  • “隱藏時”只做了一件事——把面板設置為顯示。
  • “顯示時”做了什么操作:文字元件移動——復位——面板隱藏。

從動態面板設置的這3個事件,可以看出文字循環滾動的流程:

動態面板載入–>勻速移動文字(文字離開視野)–>文字快速復位(文字移動到面板右側)–>隱藏面板(隱藏面板執行了顯示面板,所以實際是觸發顯示面板的動作)–>顯示面板–>移動文字(從步驟2開始循環)….

總結

  • 動態面板中拖放一個文字元件,對文字元件進行移動操作,而不是對面板進行移動;
  • 設置文字元件移動的終點位置,即文字元件右側離開動態面板視野,與動態面板左側相切;
  • 移動到動態面板右側,即文字元件復位,準備進行新一輪的移動;
  • 通過動態面板的顯示、隱藏,觸發移動的循環過程。

以上,就是跑馬燈的實現過程~

 

本文由 @First_Step 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 試了一下,RP9的話,把移動后的“等待”去掉,直接復位,就可以循環了

    來自天津 回復
  2. 9不可以~,好生氣~

    來自新疆 回復
  3. 請問一下 如何實現鼠標移入時 停止移動 并可以點擊進鏈接呢

    來自重慶 回復
  4. Axure RP 9 不可以了

    來自內蒙古 回復
    1. 用了幾天9 Bug太多 而且不能回退 害得我重做了, Bug真的是無語了 這輩子第一次用這么坑爹的公測軟件

      舉個例子 導入元件庫的菜單經?;疑? 元件庫導入重復, 還容易崩潰. 文本框的提示文本給去了….. 但是菜單可以設置樣式估計是忘了? 還有各種小Bug

      還有些小的新特性… 很小

      來自泰國 回復
    2. 不知道為啥,同樣的步驟在9上無法循環了。在8上做了一遍可以。請問9上應該如何調整生效?

      來自江蘇 回復
  5. 請問下這個下載的的文件也不能循環移動吧

    來自四川 回復
    1. 可以滾動的,我用的是Axure RP 8

      來自福建 回復
    2. 用的是9循環不了,8可以循環的。不知道問題出在哪里

      來自上海 回復
  6. 請問下上下滾動的話,復位時候的坐標是好多呢 ??

    來自四川 回復
    1. 上下滾動文字移動的范圍是在控制面板上邊緣到下邊緣(動圖效果中灰色區域),并且文字組件和控制面板左對齊。橫向距離不變,縱向距離修改,也就是X軸不變,改變的是Y軸。復位的話,x=0,y=0-文字組件.height

      來自福建 回復
    2. 謝謝

      來自四川 回復
  7. 下載了你的源文件,為何有個灰色底,而且移動不了。。。。

    來自江蘇 回復
    1. 我這邊可以滾動,我用的是Axure RP 8。

      來自福建 回復
  8. 原來是this的T沒有大寫 ?? 不過,話說回來,this還要區分大小寫嗎?

    來自陜西 回復
    1. 試過,this不區分大小寫

      來自福建 回復
  9. 載入時:移動-復位-隱藏,隱藏時:顯示,顯示時:移動-復位-隱藏;
    為什么我的循環不了呢?

    來自陜西 回復
  10. 載入時的第三第四步我嘗試去掉了,也是可行的,這樣不就沒有復位嗎為什么還可以

    來自廣東 回復
    1. 去掉等待時間,“載入時”馬上就把面板隱藏掉啦,面板隱藏觸發“隱藏時”>再觸發“顯示時”,“顯示時”里面有復位操作哦。這時執行的是“顯示時”的操作。你可以修改一下“載入時”的動畫時間和等待時間為1000ms,沒有刪掉第三第四部和刪掉第三第四部,第一次的滾動速度是不一樣的~

      來自福建 回復
  11. 新人,不太明白Y軸[[Target.bottom-Target.Height]]的取值和[[Target.Top]]有什么區別

    來自安徽 回復
    1. ?? 一樣哈

      來自福建 回復
  12. This和Target怎么理解的呀?

    來自安徽 回復
    1. This :獲取當前元件對象。當前元件是指當前添加交互動作的元件。
      Target :獲取目標元件對象。目標元件是指當前交互動作控制的元件。

      來自福建 回復
    2. 恩恩,這個我后來查了一下,已經弄明白了,謝謝你的分享啦

      來自安徽 回復
  13. 不錯,學習了 ??

    來自四川 回復
  14. 鹵煮,rp文件能分享一下嗎?

    來自北京 回復
    1. 可以呀 ??
      鏈接:https://pan.baidu.com/s/1AcIcefxbZXUXAuIB96g8Bg 密碼:puve

      來自福建 回復