java如何导入带有部署变量类名的静态函数?
我正在为计算机和Android开发跨平台OpenGL游戏
对于计算机平台,我使用LWJGL:
import static org.lwjgl.opengl.GL20.*;
对于Android平台,我使用:
import static 安卓.opengl.GLES20.*;
我不想创建接口GL并包装这些函数,也不想用不同的导入编写两次相同的类。我知道这是可能的,因为Java在启动时被编译成本机
你可以在下面搜索框中键入要查询的问题!
我正在为计算机和Android开发跨平台OpenGL游戏
对于计算机平台,我使用LWJGL:
import static org.lwjgl.opengl.GL20.*;
对于Android平台,我使用:
import static 安卓.opengl.GLES20.*;
我不想创建接口GL并包装这些函数,也不想用不同的导入编写两次相同的类。我知道这是可能的,因为Java在启动时被编译成本机
# 1 楼答案
我认为有两种方法可以解决你的问题:
首先是包装(你不想要)。以及在运行时注入正确的类或实例
第二种方法是在编译时使用一些宏预处理或脚本,根据目标平台指定要使用的导入。它会使编译变得更加复杂,并且在开发阶段可能必须显式地使用
org.lwjgl.opengl.GL20.*
因此,最简单的方法是创建一个脚本,当目标平台是Android时,将
org.lwjgl.opengl.GL20.*
替换为android.opengl.GLES20.*