2015-06-08 34 views
0

我正在通過LibGDX製作遊戲,並在Eclipse中使用Java。我使用ShapeRenderer類來創建一個正常的矩形並連續旋轉它。我使用從LibGDX文檔中給出的邏輯來旋轉矩形:LibGDX:在LibGDX中旋轉後如何更改形狀X Y座標?

shapeRenderer.rect(x, y, width, height); 

然而,在文檔給定旋轉的示例中的矩形需要:

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/glutils/ShapeRenderer.html#identity--

繪製矩形是通過進行以下代碼:

shapeRenderer.rect(-width/2, -height/2, width, height); 

您可以看到代碼旋轉的形狀需要「x」和「y」參數具有寬度和高度這意味着我無法控制矩形在旋轉時的位置(准許矩形確實旋轉,而不是我希望的旋轉方向,而不是我想要的位置)。由於此代碼,矩形的POSITION現在與其SIZE成比例。有沒有什麼辦法可以解決這個問題,因爲我需要給這個矩形給定一個尺寸和一個不同的x,y座標。先謝謝你。

回答

0

使用「translate」將矩形放置在旋轉後的所需位置。從文檔到20,12,2該Z軸,你會做以下

shapeRenderer.begin(ShapeType.Line); 
shapeRenderer.identity(); 
shapeRenderer.translate(20, 12, 2); 
shapeRenderer.rotate(0, 0, 1, 90); 
shapeRenderer.rect(-width/2, -height/2, width, height); 
shapeRenderer.end(); 
+0

你是一個明星,它完美的作品謝謝你,我沒有完全理解旋轉畫一個矩形框翻譯方法。再次感謝 :) – Xaoilin