用cocos2d-js建立jsbindings类的正确方法是什么
What is the proper way to set up a jsbindings class with cocos2d-js?
文档解释了如何生成jsbindings,但没有说明将其集成到项目中的正确方法。我必须遵循哪些步骤?我应该将手动编写的C++文件存储在哪里?我应该将生成的js和c++文件存储在哪里?我应该编辑哪些CMakeList.txt文件?
我相信我找到了一些方法。请确认我没有做错任何事(我在官方论坛上复制了这条消息)。
让我们将js绑定测试示例集成到一个cocos2d-js项目中。
- 首先生成测试:
cd tools/bindings-generator/test && ./test.sh && cd ../../..
(可能需要一些配置)。目前,由于缺少标头,它在Linux上失败了,但我提交了一个合并请求 - 将文件复制到项目中
cp -R tools/bindings-generator/test/simple_test/ frameworks/runtime-src/Classes
cp -R tools/bindings-generator/test/simple_test_bindings/ frameworks/runtime-src/Classes
- 更新
CMakeLists.txt
和frameworks/runtime-src/proj.android/jni/Android.mk
,并将添加的文件autogentestbindings.cpp
和simple_class.cpp
添加到目标列表中 - 通过在
AppDelegate::applicationDidFinishLaunching
中添加sc->addRegisterCallback(register_all_autogentestbindings);
,在frameworks/runtime-src/Classes/AppDelegate.cpp
中的运行时源中注册jsb函数
那么simple_class.h
中定义的类在Javascript中是可用的。以下JS代码应显示1337
。
console.log((new SimpleNativeClass(1337)).getSomeField())
相关文章:
- 打破承诺链的好方法是什么
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- knex:根据结果创建数组的合适方法是什么
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 使用Modernizr检测移动设备最可靠的方法是什么
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- 让会话值可用于JavaScript的好方法是什么
- 从AngularJs获取谷歌地图对象的正确方法是什么
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 列出没有 mysql 的元素的最佳方法是什么
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 直接在DOM事件处理程序中调用作用域函数的最短方法是什么