Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从c++;在cocos2d-x中_Javascript_Cocos2d X - Fatal编程技术网

Javascript 如何从c++;在cocos2d-x中

Javascript 如何从c++;在cocos2d-x中,javascript,cocos2d-x,Javascript,Cocos2d X,在我的COCOS2D-X JS项目中,我用CXX生成器将C++函数绑定到JS,这样,我创建了一个iOS ActVIEW并将其显示在我的JS代码中,但是当用户按下OK按钮时,我可以把这个事件传递给JS,我尝试和搜索了2天,但是我做不到,如果有人知道解决方案是什么,请帮助我,非常感谢!p> 您没有提供任何代码,因此很难给您具体的帮助,但类似的内容应该提供一些指导: 呸 Poo.cpp Poo::hello(JSObject *target, std::string selector) { i

在我的COCOS2D-X JS项目中,我用CXX生成器将C++函数绑定到JS,这样,我创建了一个iOS ActVIEW并将其显示在我的JS代码中,但是当用户按下OK按钮时,我可以把这个事件传递给JS,我尝试和搜索了2天,但是我做不到,如果有人知道解决方案是什么,请帮助我,非常感谢!p> 您没有提供任何代码,因此很难给您具体的帮助,但类似的内容应该提供一些指导:

Poo.cpp

Poo::hello(JSObject *target, std::string selector) {
    if (target) {
        js_proxy_t * p;
        JS_GET_PROXY(p, target);
        if (!p) {
            return;
        }

        jsval retval;
        jsval dataVal = std_string_to_jsval(ScriptingCore::getInstance()->getGlobalContext(), "Hello World");

        ScriptingCore::getInstance()->executeFunctionWithOwner(OBJECT_TO_JSVAL(p->obj), selector.c_str(), 1, &dataVal, &retval);
    }
}
然后,在JS文件中:

var Demo = cc.Node.extend({
  ctor: function() {
    this._super();
    // The usual init stuff
    Poo.hello(this, "myCallback");
  },

  myCallback: function(msg) {
    cc.log("I got a message back from C++: " + msg);
  }
});
请调用这个;在ctor方法中

ctor: function()
{
    this._super();
    // The usual init stuff
    Poo.hello(this, "myCallback");
}

这个答案不再适用于最新的Cocos2dx版本。3.12没有“JS_GET_代理”


我花了好几天时间想办法如何从C++中调用一个JS函数,但没有用。因此,在一天结束时,我发现了一种在这两个节点之间发送和接收消息的方法,即创建自定义cc.node,并使用已经实现的getter和setter函数在其字段中发送信息。

您真的应该在问题中添加更多代码,这里没有什么可回答的。您好,欢迎使用Stack Overflow!你可能想对它的作用多加一点解释,这样它与其他人更相关,也更清楚它的作用。嗨@maja,你能分享一下代码吗。。想知道如何从cocos2dx管理调用javascript函数吗???
ctor: function()
{
    this._super();
    // The usual init stuff
    Poo.hello(this, "myCallback");
}