用cocos2d-js建立jsbindings类的正确方法是什么

What is the proper way to set up a jsbindings class with cocos2d-js?

本文关键字:方法 是什么 cocos2d-js 建立 jsbindings      更新时间:2023-09-26

文档解释了如何生成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/Classescp -R tools/bindings-generator/test/simple_test_bindings/ frameworks/runtime-src/Classes
  • 更新CMakeLists.txtframeworks/runtime-src/proj.android/jni/Android.mk,并将添加的文件autogentestbindings.cppsimple_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())