-1
我正在嘗試創建一個像拼圖遊戲一樣的遊戲。我正在使用擴展視圖的類,並在其繪圖方法中繪製不同的位圖片段。當用戶點擊一個位圖時,我將該位圖旋轉90度角。它的工作完美。但用戶組合了一些位圖片段,然後旋轉該組,該位圖圍繞其中心點旋轉,從而破壞組結構。Android圍繞一個公共樞軸點旋轉一組位圖
我的問題是如何圍繞一個公共的樞軸點旋轉一組位圖,以便當一組位圖旋轉時,它保持其形狀結構?
我正在嘗試創建一個像拼圖遊戲一樣的遊戲。我正在使用擴展視圖的類,並在其繪圖方法中繪製不同的位圖片段。當用戶點擊一個位圖時,我將該位圖旋轉90度角。它的工作完美。但用戶組合了一些位圖片段,然後旋轉該組,該位圖圍繞其中心點旋轉,從而破壞組結構。Android圍繞一個公共樞軸點旋轉一組位圖
我的問題是如何圍繞一個公共的樞軸點旋轉一組位圖,以便當一組位圖旋轉時,它保持其形狀結構?
我假設你有每個中心加權,這是導致你的問題。
可能性是將背景設置爲中心加權對象或查看背景並將中心聲明爲旋轉點。
然後,計算每個拼圖塊的近似框大小(如果使用縮放,這可能是動態的)。找出它在屏幕上的位置,作爲Draw()中的位圖對象。
現在,想象一條從中心到屏幕邊緣被旋轉以獲得角度的線。
因此,基於這些新信息,您需要根據屏幕旋轉中心設置的角度計算每個中心加權對象(拼圖塊)的新角度。由於屏幕中心設置了新的旋轉線或旋轉角度,因此每個工件的軸線都會有不同的旋轉角度。
這是更多的算法/計算而不是編程,關於您的問題的更多細節將有所幫助。
它很容易在xml(pivotX和pivotY = 50%)中定義這樣的動畫,而不是在代碼中執行(計算精確的傾角值)。所以,我認爲您可以將組合位圖封裝在一個組中,並將動畫應用於整體。 –
你玩過拼圖遊戲嗎? –
是的,很多次。 –