quick-cocos2d-x 学习系列之十lua调用JAVA
lua脚本虽然强大,但是如果不能灵活方便的调用JAVA难免会显得不足。很多编程语言本身都会涉及到和其他语言的交互,记得很久之前在用MATLAB时候就涉及C与MATLAB中m语言的交互,现在工作也经常设计SHELL、PYTHON、C等交杂。我们就来瞎看LUA与JAVA 之间的调用。
1.代码
代码如下:
local btn
btn = cc.ui.UIPushButton.new()
:setButtonLabel(cc.ui.UILabel.new({text = "call Java - showAlertDialog()", size = 64}))
:onButtonClicked(function()
if device.platform ~= "android"then
-- print("please run this on android device")
btn:setButtonLabel(cc.ui.UILabel.new({text = "please run this on android device", size = 32}))
return
end
-- call Java method
local javaClassName = "org/cocos2dx/lua/AppActivity"
local javaMethodName = "showAlertDialog"
local javaParams = {
"How are you ?",
"I'm great !",
function(event)
local str = "Java method callback value is [" .. event .. "]"
btn:setButtonLabel(cc.ui.UILabel.new({text = str, size = 32}))
end
}
local javaMethodSig =
"(Ljava/lang/String;Ljava/lang/String;I)V"
luaj.callStaticMethod(javaClassName, javaMethodName, javaParams, javaMethodSig)
end)
:align(display.CENTER, display.cx, display.cy)
:addTo(self)