在LuaJava中访问常量

我正在将LuaJava适配到我的Android应用程序中,并希望脚本能够运行OpenGL函数。我使用pushJavaObject在一个函数中将GL上下文推送到Lua中,它可以工作。但是我无法使用GL10类中的常量,例如COLOR_BUFFER_BIT。有没有方法可以访问这些常量?我必须复制所有的常量吗?

这是有效的:

function onUpdate(gl)
    GL_COLOR_BUFFER_BIT = 16384
    gl:glClearColor(1, 1, 0, 1)
    gl:glClear(GL_COLOR_BUFFER_BIT)
end

这会失败:

function onUpdate(gl)
    gl:glClearColor(1, 1, 0, 1)
    gl:glClear(gl:GL_COLOR_BUFFER_BIT)
end

Java端:

l.getGlobal("onUpdate");
l.pushJavaObject(gl);
l.pcall(1, 1, 0);
点赞
用户2458544
用户2458544

你能试试这个吗:

gl:glClear(gl.GL_COLOR_BUFFER_BIT)

注意第二个 gl 后面的点

该链接描述了 .: 的区别

2013-06-14 17:31:13