Axure教程:如何讓元件繞著某一個點進行旋轉!

29 評論 34265 瀏覽 114 收藏 9 分鐘

對一個合格產品經理來說Axure技能是必備的,本篇文章主要幫助解決那些苦苦尋找繞一個任意固定點旋轉axure教程的伙伴!

一、實現的預期效果

讓矩形元件圍繞著某一個點進行旋轉。

二、Axure版本:8.0團隊版

三、教程開始

1.首先我們新建一個RP文件,為驗證結果準確,我們用一個圓作參考,繞其圓心旋轉來輔助驗證旋轉的效果,在axure的index界面從axure自帶的default元件庫中拖入一個圓命名為圓形。

2.在axure的index界面從axure自帶的default元件庫中拖入一個圓命名為矩形,填充為紅色。

3.下一步就是矩形的旋轉動作了,我們現在采用頁面載入時加入case,要按照我們的意愿進行旋轉就是要確定我們想要的圓心了,通常我們會做以下幾個步驟:

頁面載入時case1:元件-旋轉-勾選矩形,設置角度、動畫、時間,然后就會想到那個圓的圓心可能就是offset from anchor的x,y的坐標,事實是不是如此呢,我們來看下實際效果?

(1)我們按以上條件設置好

(2)現在就是我們要找那個圓心的坐標了,我們可能有的小伙伴會誤認為axure中標識的坐標就是圓心的坐標,因此會把圓心坐標填入,我們來試試!

為了讓它轉慢點,我們把時間可以調整為60000毫秒

(3)我們來預覽一下效果:https://h0xjqu.axshare.com

4.為什么會這樣?矩形為什么不會按我們想要的圓心的進行旋轉,而是以右下角某個點為圓心進行旋轉?其實,產生這種現象的原因有兩個:

  • 第一個:誤解axure元件中坐標為其中心坐標。
  • 第二個:誤解axure中offset from anchor真正的含義,認為x,y就是旋轉的中心。

我們來糾正第一個誤解:axure中的元件坐標即如圖所示紅框部分表示的不是元件中心坐標而是元件的右上角坐標,即圖中原型元件左上角A點的坐標。

我們來糾正第二個誤解:對axure中offset from anchor,offset:偏離,補償 ?anchor:錨,連起來offset from anchor就是偏離錨點,也叫它抵消錨,我們來理解一下,什么叫offset from anchor.

我們可見:前面我們定義錨點是中心,offset from anchor設置的是250,150,也就是說偏離錨點x軸250單位,Y軸150單位,補充一點,x軸往右坐標為正,Y軸往下坐標為正,反之為負數,可能有的小伙伴已經似乎明白了什么。

很抱歉的告訴你,你的第六感很準確,我們前面做的旋轉的中心在矩形中心偏右250單位,偏下150單位,所以才會造成如此大的誤差。我們可以再看一遍:https://h0xjqu.axshare.com

5.那么我們如何才能讓矩形以我們想要的圓心為準做旋轉運動呢?

  1. 我們要找到圓形元件圓點的坐標;
  2. 我們要找到矩形元件中心的坐標,兩個x,y坐標的差值就是我們的off from anchor中的x,y值

知道了我們要找的東西,那么還有一個問題:怎么知道矩形元件和圓形元件的中心呢,因為axure似乎并沒有標識每個點的坐標。別急,關于這點,我找到一個巧辦法,辦法很簡單:我們用一個一個default中元件庫中的水平線或者垂直線,即可。如何做,下面我來說明一下:

(1)首先從axure的default元件庫中拖入一個垂直線:

(2)壓縮垂直線或者水平線至一個點,作為一個標準點,因為axure中只有元件才能顯示其坐標,如下圖:

(3)那么我們就可以利用這個點來找圓心了,將這個點移動到圓中間,就可以看到圓心標識的坐標335,235。

(4)同樣我們把我們做出來的點復制并移動到矩形的中心,也就是我們的錨點定義的地方,并確定其坐標。為方便查看,我們把矩形中心點定義C點,圓形圓心定義為D點,如圖,C點坐標為180,235。

(5)以上我們就獲得了C點、D點,即錨點和我們要繞著旋轉中心的坐標。

有人這時候會說axure不是標識的都是右上角嗎?坐標準確嗎?這點不用擔心,因為我們壓縮的點已經是一個點,不信的話,你們可以把這個點拖動到圓形元件左上角標識坐標處,可以看到坐標是重合的,所以此點表示坐標精確無誤。

獲得了C點、D點坐標,我們回到之前發生錯誤設置的offset from anchor 設置x、y的值,我們將圓心的坐標減去矩形錨點(中心)的坐標得到D點X軸偏離錨點(C點)155單位,D點Y軸偏離錨點(D點)0單位。此時我們將155,0填入offset from anchor。

我們來看效果是不是跟之前不一樣:https://wwnfwq.axshare.com

當然了,要是以上錨點定義要是定義為左上角,和其他位置,會產生不一樣的效果因為你定義的錨點位置變化了這點要注意。一般我們都采用中心就好了,要是直接一個元件原地旋轉,那么我們錨點定義為中心,offset from anchor中的X,Y值就是0,0了,也是我們常用的。

最后我們回顧一下以上的關鍵點:

  1. 元件坐標標示的元件左上角坐標
  2. offset from anchor指的是錨點到要定義的旋轉的中心的偏移

希望能給大家在做旋轉動作過程中一點幫助,謝謝!

 

作者:止,產品經理,2年移動互聯網工業app和web端系統建設產品經驗,歡迎交流。

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

題圖來自 Pexels,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 大佬,這個簡單,有沒有橢圓形軌跡旋轉的步驟呀,百度有一個看不懂,希望能出一個

    來自浙江 回復
    1. 不好意思哈,措辭,我是說這個Xy坐標相減,就能得出軌跡,橢圓形的那個旋轉感覺好復雜,能有網址直接用就更好啦

      來自浙江 回復
  2. axure9的好像不太一樣,我按照你的那種修改,還是不能旋轉

    回復
  3. 怎樣能夠一直旋轉不讓他停下來呢

    來自浙江 回復
    1. 最笨的方法把旋轉360° ,改成更大的數目3600就是10圈,以此類推

      來自浙江 回復
  4. 怎么才能只旋轉一次就停止呢?

    來自四川 回復
    1. 旋轉里面有角度設置啊

      來自福建 回復
  5. 計算圓心和矩形中心點的坐標值就是很簡單,不需要這么復雜的擺放調整元件。
    圓x坐標=圓的x坐標+圓的半徑(圓的寬度/2),圓y坐標=圓的y坐標+圓的半徑(圓的高度/2);矩形的中心點坐標計算方式與圓是一樣的方法。因此偏離的x軸與y軸距離就很容易計算了。

    來自北京 回復
    1. ?? 老鐵,本篇是解決偏離錨的概念,那個圓不是重點,只是拿來參考最后的旋轉結果準確,不是單純的計算坐標問題哦

      來自福建 回復
    2. 沒有重點講解圓以及矩形的坐標,那是中間過程,其最終結果就是為了計算偏離的值,然后填到配置動作里。兄弟我也沒別的意思啊,不要誤會啥。

      來自北京 回復
    3. ?? 其實只要懂得什么叫偏離錨就行了,計算坐標只是方法了,沒事,多多交流,多多學習哈!重點是方法和概念去幫助那些不懂的新人,增強他們工作中的能力和類似的思考方法,其實這才是我們這些人去寫文章的目的哈,為寫而寫沒有任何價值,為幫助他人而寫,才是一篇文章最大化價值的體現

      來自福建 回復
    4. 而且能讓很多人,怎么通過壓縮一個元件找精確的坐標,而不是元件的左上角坐標 ??

      來自福建 回復
  6. 兄弟,只能打賞了。

    回復
    1. 干嘛這么委屈哈

      回復
  7. 建議作者用gif替換鏈接,便利移動端讀者。

    回復
    1. 謝謝兄弟提的意見,我也同感,也希望文章對你有幫助

      來自福建 回復
  8. 感覺用的場景不多啊

    來自湖北 回復
    1. 當你想要一個東西繞著旋轉,你就可以用到了,或者簡單的刷新動效,不是有轉圈的標志,你就可以自己制作元件了,是不是有啟發了?

      來自福建 回復
  9. 我想請教一下,鏈接怎么生成的?

    回復
    1. 首先你要有Axure.share賬號,然后平時做axure就可以點擊發布選擇發布到axure.share

      回復
    2. 導出html文件

      回復
  10. 很好啊 非常好

    來自四川 回復
  11. 收藏收藏

    來自四川 回復
  12. 這個確定是這個效果???

    來自北京 回復
    1. 你點擊鏈接地址可以看,還不懂的話,可以交流

      來自福建 回復
    2. 嗯,剛才搞錯了,謝謝

      來自北京 回復
    3. 沒事啊,希望這篇文章對你有幫助,以后會出其他的,

      來自福建 回復
    4. 好的

      來自北京 回復
  13. 我是小哥哥

    來自廣東 回復