我想把java端得到的数据传递到ccc中使用,请问我该怎么用Cocos2dxJavascriptJavaBridge是实现呢?
我看到这个了,可是怎么传值进去呢,或者说怎么将java 的String类型转变为 javascript认识的变量呢,下面这样写是读不出来的
final String nickname = “jammy”;
AppActivity.getInstance().runOnGLThread(new Runnable() {
public void run() {
Log.v(“WeiChatLogin”, nickname);
Cocos2dxJavascriptJavaBridge.evalString(“cc.log(nickname)”);
}
});
字符串拼接
evalString(“cc.log(”" + nickname + “”);");
谢谢你的耐心解答,还有一个问题,我怎么通知ccc呢?或者说有办法调用ccc写的函数么?
evalString(“var node=cc.find(somenode);node.getComponent(yourScript).somemethod();”);
或者在JS里先把函数或变量挂到全局:window.somemethod=function(){…};
evalString(“somemethod();”);
somemethod()的参数要怎么写呢?比如说我要传上面的nickname
跟传给cc.log是一样的
evalString(“somemethod(”" + nickname + “”);");这样么?
嗯
谢谢大神的耐心解答
Cocos2dxJavascriptJavaBridge.evalString(“LayerNotify.LogonResult((”" + TokenID + “”),("" + OpenID + “”);");
我在前面写了2参数。。。为什么这样会报错
TokenID和OpenID不用加括号的吧(当然因为JS的语法,加了应该也没关系)。目测你的OpenID后面少了个括号,跟LogonResult后面那个括号相匹配的。
OK了 谢谢解答