1

文档解释了如何生成 jsbindings,但没有说明将其集成到项目中的正确方法。我必须遵循哪些步骤?我应该在哪里存储我手动编写的 C++ 文件?我应该在哪里存储生成的 js 和 c++ 文件?我应该编辑哪些 CMakeList.txt 文件?

4

1 回答 1

0

我相信我找到了一些方法来做到这一点。请确认我没有做错任何事情(我在官方论坛上复制了此消息)。

让我们将 js-bindings 测试样本集成到一个 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到目标列表。
  • frameworks/runtime-src/Classes/AppDelegate.cpp通过添加sc->addRegisterCallback(register_all_autogentestbindings);在运行时源中注册jsb函数AppDelegate::applicationDidFinishLaunching

然后simple_class.h在 Javascript 中定义的类可用。以下 JS 代码应显示1337.

console.log((new SimpleNativeClass(1337)).getSomeField())

于 2014-11-24T09:07:57.313 回答