2012-05-31 18 views
1

我正在開發用於計算機和Android的跨平臺OpenGL遊戲。如何使用部署變量類名稱導入靜態函數?

對於計算機平臺我使用LWJGL:

import static org.lwjgl.opengl.GL20.*; 

對於Android平臺的使用:

import static android.opengl.GLES20.*; 

我不想創建界面GL和包裝這些功能,我不想寫相同的類有兩次不同的進口。我知道這是可能的,因爲Java在啓動時被編譯爲本機。

+6

Java不是一種解釋型語言。 –

+0

我想包裝將是我會去的解決方案。對於開發人員的大腦來說,它看起來最直觀,最簡單,而不是任何特定的調整。好的問題BTW。 – Nishant

+0

@JBNizet我對細線不太瞭解,但請參閱http://en.wikipedia.org/wiki/Interpreted_language我猜腳本和解釋有細線 – Nishant

回答

0

我看到你的問題,有兩種解決方案:

  • 首先一個,是包裝(你不想要的)。在運行時注入正確的類或實例。

  • 其次,在編譯時使用一些宏預處理或某些腳本來指定要使用哪個導入,具體取決於目標平臺。它可以使編譯更加複雜,並且您可能在開發階段必須明確使用org.lwjgl.opengl.GL20.*
    所以,最簡單的事情就是到創建一個腳本來代替org.lwjgl.opengl.GL20.*android.opengl.GLES20.*當目標平臺爲Android時。