天天看點

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

szu-jawenos

因為查了很多資料都沒ai2旋轉按鈕的教程,是以自己做了個,不喜勿噴

1.打開ai2,随便你網頁版,線上版,離線版,能用就行

2.将畫布跟圖像精靈調出來,畫布的背景圖檔是轉盤,圖像精靈的圖檔是指針,兩者的高跟寬都要設定為相同,即(a180180,b180180)其他也行,但最好是正方形,因為正方形最好調,我們要實作的就是拖動指針然後在轉盤上面動,而且有個資料是順時針跟着變大,例如下圖的儀表盤,轉動就會使一個标簽文本跟着變大或變小。

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

3.首先是要實作能動,用的是下圖子產品,指針是圖形精靈的命名

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值
app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

這就能動了,但是你試下就會發現有很大的問題,資料不是跟着變大的,因為ai2的定義轉向的問題,它是逆時針有個0到180,順時針有-1到-180,自己試一下将它顯示在一個标簽上看下就知道了

4.方法

首先改變坐标系,畫布預設的坐标的原點是在左上角,現在要建構一個新的坐标系

新坐标系:原點為圖檔的中心,然後根據我的轉盤形狀建構一個坐标系,自己拿草稿紙比劃下你的輪盤哪裡是0度,哪裡是360

下圖的角度2是我建構的新的坐标系

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

例如我建構的就是下圖(網圖,侵删),0到100就是0到270度

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

建構好坐标系後,點選畫布會得到響應的角度值,然後将它通過相應的比例轉化為文本值

像電流值

I=angle/270*20A(如下)

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

想要限制範圍的話可以用下圖

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

5.最後要實作點選電流值,輪盤的指針指向對應的位置

這裡有點繞,先将它轉化為你建構的坐标系,然後根據你建構的坐标系對應為實際的轉向

app inventor2(ai2)帶範圍的旋轉按鈕顯示對應的大小文本值

6.總結

(1)原理很簡單,就是建構一個新的坐标系,然後将點選的實際畫布坐标轉化為你構造的坐标系的角度值,然後就可以通過這個角度值/轉盤範圍占據的角度值*相應的比例得到對應的旋鈕開關值了

(2)要将已有的文本值轉換為指針的方向,首先将文本值通過上面變換的相反流程轉換為構造的角度值,然後再通過對應關系把它轉化為實際指針的方向

所有上面操作的原因是因為ai2提供的子產品坐标系跟我實際的輪盤坐标系不同,是以才這樣麻煩