1

我正在为计算机和 Android 开发跨平台的 OpenGL 游戏。

对于计算机平台,我使用 LWJGL:

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

对于 Android 平台,我使用:

import static android.opengl.GLES20.*;

我不想创建接口 GL 并包装这些函数,我不想用不同的导入两次编写相同的类。我知道这是可能的,因为 Java 在启动时会被编译为本机。

4

1 回答 1

0

我看到您的问题有两种解决方案:

  • 第一个,是包装(你不想要的)。并在运行时注入正确的类或实例。

  • 第二个是在编译时使用一些宏预处理或一些脚本来指定要根据目标平台使用的导入。它会使编译变得更加复杂,您可能必须org.lwjgl.opengl.GL20.*在开发阶段明确使用。
    因此,最简单的做法是创建一个脚本以org.lwjgl.opengl.GL20.*android.opengl.GLES20.*目标平台为 Android 时替换。

于 2012-07-09T08:38:24.790 回答