В моем проекте cocos2d-x js я связываю функции C++ с js с помощью cxx-генератора, таким образом я создаю ios alertView и показываю его форму моего js-кода, но когда пользователь нажимает кнопку «ОК», я могу передать событие в js сейчас, я пробовал и искал все 2 дня, но я не могу этого сделать, если кто-то знает, что это за решение, пожалуйста, помогите мне, очень спасибо!как вызвать функцию javascript из C++ в cocos2d-x
ответ
Вы не предоставили какой-либо код, так что трудно дать вам конкретную помощь, но что-то подобное должно обеспечить некоторое направление:
Poo.h
class JSObject;
class Poo : cocos2d::CCNode {
public:
static void hello(JSObject *target, std::string selector);
}
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);
}
});
Пожалуйста, вызовите this._super(); в ctor-методе.
ctor: function()
{
this._super();
// The usual init stuff
Poo.hello(this, "myCallback");
}
Привет, добро пожаловать в переполнение стека! Возможно, вы захотите добавить немного более подробное объяснение того, что это делает, чтобы оно было более релевантным для других людей и ясно, что он делает. –
Этот ответ больше не работает с последними версиями Cocos2dx. 3.12 не имеет «JS_GET_PROXY» ...
Я провел несколько дней, пытаясь выяснить, как запустить вызов функции JS из C++, безрезультатно. Поэтому в конце дня я обнаружил хакерский способ отправки и получения сообщений между ними, создав пользовательские cc.nodes и используя уже реализованные функции getter и setter для отправки информации в свои поля.
- 1. Как вызвать функцию callfunc в cocos2dx 3.0
- 2. Вызвать функцию JavaScript из C++
- 3. Как вызвать функцию Objective-c из JavaScript?
- 4. Как вызвать функцию C# из javascript?
- 5. Как вызвать функцию C# из Javascript
- 6. Как вызвать функцию JavaScript из кода C#
- 7. Как вызвать функцию mfc C++ в HTML JavaScript и как вызвать функцию JavaScript в mfc C++?
- 8. Как вызвать функцию javascript из javascript
- 9. Вызвать функцию javascript из статического метода C#
- 10. Как вызвать функцию javascript в C#
- 11. как вызвать функцию javascript из другого javascript?
- 12. Как вызвать функцию в C# из javascript в определенное время
- 13. как вызвать функцию в JQuery из JavaScript
- 14. Как вызвать функцию C++/Qt из Javascript в QWebengine?
- 15. Как вызвать функцию javascript из собственного кода c в ios?
- 16. Как вызвать функцию Objective-C из javascript в iOS
- 17. Как вызвать функцию javascript из httphandler
- 18. как вызвать функцию javascript?
- 19. Как вызвать функцию JavaScript
- 20. Как вызвать функцию C++ из кода C
- 21. Как вызвать функцию C++ из C?
- 22. как вызвать функцию javascript
- 23. как вызвать функцию javaScript из div
- 24. Как вызвать функцию javascript из тега lib?
- 25. Вызвать функцию ActionScript из Javascript
- 26. Как вызвать функцию в Javascript
- 27. Как вызвать функцию в javascript?
- 28. Как вызвать функцию в C
- 29. Как вызвать внутреннюю функцию javascript из url?
- 30. Как вызвать функцию JavaScript из Selenium?
Вы должны ДЕЙСТВИТЕЛЬНО добавить больше кода в свой вопрос, theres ничего не ответить здесь. – WeeklyDad