2012-08-30 38 views
3

我用下面的代碼使用畫布的3D立方體。需要稍加改進

Matrix mMatrix = canvas.getMatrix(); 

canvas.save(); 
camera.save(); 
camera.rotateY(-angle); 
camera.getMatrix(mMatrix); 
mMatrix.preTranslate(-width, 0); 
mMatrix.postTranslate(width, 0); 
canvas.concat(mMatrix); 
canvas.drawBitmap(bmp1, 0, 0, null); 
camera.restore(); 
canvas.restore(); 

camera.rotateY(90 - angle); 
camera.getMatrix(mMatrix); 
mMatrix.preTranslate(-width, 0); 
mMatrix.postTranslate(width2, 0); 
canvas.concat(mMatrix); 
canvas.drawBitmap(bmp2, width, 0, null); 

這是它給

enter image description here

使這個3D的立方體,但我需要的是

enter image description here

這是因爲當相機旋轉圖像時,我的一部分法師被隱藏。 這樣的enter image description here

但我認爲這可以做到。

+0

u能請共享代碼創建立方體 – TheReprator

回答

2

實際上這很容易。圖像必須被翻譯一半寬度/高度沿它正在旋轉的軸。

所以下面的變化做了

mMatrix.preTranslate(-width, -height/2); 
mMatrix.postTranslate(width, height/2); 
+0

你可以直接向我的源代碼,請 – Vivekanand

+0

@Vivekanand的代碼在的問題。在答案中進行更改後使用它。 –

+0

我很抱歉如此非正式,因爲絕望的情況。我真的不希望完整的代碼一些教程如何執行完成將不勝感激,謝謝 – Vivekanand