下面是一個例子:setRotationX/setRotationY寬度/高度增加後。如何獲得新的寬度和高度?
黑色圖像具有setRotationX(45)。在旋轉X = 0時,黑色圖像的寬度與紅色圖像的寬度相同,但旋轉時其寬度增加。
如果我使用getWidth,則任何rotationX值的值都是相同的。
另一個問題是寬度因屏幕尺寸而異。例如,在平板電腦上,黑色視圖看起來比紅色視圖更寬。
我已經找到了解決這個唯一的解決辦法是讓旋轉視圖的寬度,然後使用的scaleX。
下面是一個例子:setRotationX/setRotationY寬度/高度增加後。如何獲得新的寬度和高度?
黑色圖像具有setRotationX(45)。在旋轉X = 0時,黑色圖像的寬度與紅色圖像的寬度相同,但旋轉時其寬度增加。
如果我使用getWidth,則任何rotationX值的值都是相同的。
另一個問題是寬度因屏幕尺寸而異。例如,在平板電腦上,黑色視圖看起來比紅色視圖更寬。
我已經找到了解決這個唯一的解決辦法是讓旋轉視圖的寬度,然後使用的scaleX。
我意識到我的做法是錯誤的。對於我想達到的目標,我必須使用pivotx和pivoty。默認情況下,pivotx和pivoty被設置爲50%,這就是爲什麼會發生這種情況。解決方案是使用(pivotx = 50%和pivoty = 0%)或(pivotx = 50%和pivoty = 100%)
這可以使用三角法來實現。它看起來像|sin(theta * 2)/2| + 1
(對於寬度爲1的正方形)。我從頭開始做這件事,所以要對準確性進行調整,包括增加考慮寬度和高度的功能部分。
您可以給我更多的細節。爲什麼4,什麼是theta? –
'4'因爲你有一個正方形的四邊,因此需要這個正常大小的1/4。 Theta或θ'是旋轉值。 –
不工作。當theta = 45,1 + sin(theta * 4)= 1。我認爲這是一個乘以初始寬度的因子嗎? –