關於AS動態控制項繞Y軸翻轉

2021-10-05 17:22:18 字數 990 閱讀 6304

眾所周知,可以使用displayobject類的rotation屬性來定義物件旋轉的角度。但這個旋轉僅是通過元件以變形點為中心做繞z軸的旋轉,那麼,當遇到需要繞y軸的旋轉情況,該如何解決呢?

最初我的想法是,使用displayobject類的rotationy 屬性來實現。

但是使用之後發現,雖然實現了想要的功能,但是卻使模糊了,思考後猜測:其實現原理是先把素材轉化為位圖,再把點陣圖進行座標變換得到指定的素材。

再繼續思考,元件向量圖轉化為位圖後,肯定是通過某種計算之後得到旋轉後的位置吧,那麼肯定在矩陣變換那裡進行了變換才得到的,那為什麼不直接修改元件的矩陣來得到自己想要的位置呢?

於是再進一步,通過使用displayobject類的transform屬性的matrix屬性,可以對顯示物件進行顯示的線性變換,這不就正是我們所需要的嗎?

矩陣變換的原理可參考:理解flash 8中的矩陣變換

由矩陣變換的原理中的:

x』 = xa + yc + tx

y』 = xb + yd + ty

根據渲染管線的順序,可以推測我們設定的矩陣是在頂點座標系進行的變換,那麼,每乙個畫素都會根據該矩陣的公式進行座標變換,那麼,我們只需要設定a的值,讓它每乙個畫素的x座標都在它相對的位置上,那麼就達到的繞y軸翻轉的效果。所以可得以下**:

var mymatrix:matrix = mc.transform.matrix;

mymatrix.a =

-mymatrix.a;

mc.transform.matrix = mymatrix;

注意:該方法只適用於當前物件繞 y=0 軸進行旋轉的,如果y != 0時,需要去計算得到對應的值再更

Gallery 繞Y軸旋轉特效

1 camera 可以實現3d平移 旋轉等特效 2 它並不是以galley檢視所在座標系,而是在其自身的座標系 3 例如,其繞y軸旋轉,實際是在matrix 對應檢視的左邊旋轉 平移也是同樣。package com.view import android.content.context import...

css3 y軸翻轉效果

這個小例子是hover的時候可一看到div沿著y軸轉動一圈 思路 css寫好動畫transiton all 1s hover的時候給他乙個狀態transform rotatey 180deg doctype html html lang en head meta charset utf 8 titl...

關於echarts中Y軸左側文字顯示不全的解決辦法

今天在專案的開發中遇到的乙個問題,echarts y軸左側的文字太多了,顯示不全,由於這個問題網上的解決辦法相對較少,所以記錄一下。先說一下網上的版本 1.調整grid下的left屬性,說白了就是調整y軸與左側的距離,大了就能顯示更多的文字 grid 這個的缺陷很明顯,文字太多還是不管事 而且看起來...