使用的是cocos creator 2.4.3版本;直接贴代码,结构如下:
在CocosDashboard\resources.editors\Creator\2.4.3\resources\cocos2d-x\cocos\scripting\js-bindings\manual 文件夹下创建
jsb_test.hpp和jsb_test.cpp两个文件。
jsb_test.hpp内容如下:

    #pragma oncenamespace se {class Object;}bool register_all_testio(se::Object* obj);

jsb_test.cpp代码如下:

    #include "jsb_test.hpp"#include "cocos/scripting/js-bindings/manual/jsb_conversions.hpp"static bool jsb_Test(se::State &s){CC_UNUSED std::string ok = "";std::string result = "这是一条测试";//这里可以调用其他的C++逻辑,简写了。ok = std_string_to_seval(result, &s.rval()); //返回stringreturn true;}SE_BIND_FUNC(jsb_Test)bool register_all_testio(se::Object *obj){se::Value nsVal;if (!obj->getProperty("Test", &nsVal)){se::HandleObject jsobj(se::Object::createPlainObject());nsVal.setObject(jsobj);obj->setProperty("Test", nsVal);}se::Object *ns = nsVal.toObject();ns->defineFunction("test", _SE(jsb_Test));//js中直接Test.test();调用return true;}

然后在CocosDashboard\resources.editors\Creator\2.4.3\resources\cocos2d-x\cocos\scripting\js-bindings\manual\jsb_module_register.cpp中添加如下代码。

    #include "cocos/scripting/js-bindings/manual/jsb_test.hpp"
    // 注册模块se->addRegisterCallback(register_all_testio);

最坑的是对应工程的CreatorDemo\build\jsb-link\frameworks\runtime-src\Classes\jsb_module_register.cpp也要添加上面的代码(以我的工程为例,大家灵活应对)。
CocosDashboard\resources.editors\Creator\2.4.3\resources\cocos2d-x\cocos\Android.mk文件添加相应的cpp文件,生成so打包就可以使用了。

    LOCAL_SRC_FILES += \scripting/js-bindings/manual/jsb_test.cpp

至此简单的手动绑定就实现了,复杂的可以查看手册实现。

https://docs.cocos.com/creator/manual/zh/advanced-topics/JSB2.0-learning.html
https://docs.cocos.com/creator/manual/zh/advanced-topics/jsb-manual-binding.html?h=jsb

Cocos Creator jsb手动绑定C++相关推荐

  1. java中JSB_深入解析Cocos Creator JSB绑定原理以及应用实践

    背景 一直以来,ABCmouse 项目中的整体 JS/Native 通信调用结构都是基于 callStaticMethod evalString 的方式.通过 callStaticMethod 方法我 ...

  2. Cocos Creator JSB [Lv.1] (1)

    目录 摘要 系列文章 JSB能做什么 环境 资源 准备工作 正式开始 对工程做一些修改 如何互动 小姐姐现身 与小姐姐互动的桥梁 找到小姐姐 划重点 摘要 本系列文章主要实操JSB的手动绑定,在官方教 ...

  3. Cocos Creator JSB [Lv.3]

    目录 摘要 资源 正式开始 为什么要使用`JSB` `JSB`能做什么 进行`JSB`绑定需要做什么 构建工程 创建类 绑定(搭建桥梁) 实现自定义的类型转换(非必须) 注册 将新增的文件加入`lib ...

  4. Cocos Creator JSB [Lv.1] (3)

    目录 摘要 系列文章 正式开始 准备礼物 怎么送 送礼物 seval_to_Gift 最终效果 在 Android 平台测试 划重点 摘要 承接上文 Cocos Creator JSB [Lv.1] ...

  5. Cocos Creator JSB绑定

    至于绑定所需要的环境,自己百度,文章最后提供部分环境依赖 D:\CocosCreator 为Cocos Creator安装目录 在D:\CocosCreator\resources\cocos2d-x ...

  6. Cocos Creator JSB [Lv.2] TODO

    目录 摘要 环境 资源 并未正式开始 思路 问题 参考 摘要 本文本来是想介绍JSB自动绑定,但在为自动绑定工具搭建运行环境时,发现对运行环境的要求有些苛刻.python,yaml,cheetah都需 ...

  7. Cocos Creator JSB绑定 MAC系统环境

    编译环境 python2.7(mac自带) 1.安装PyYAML mac: sudo easy_install pyyaml win: pip install pyyaml 2.安装Cheetah 下 ...

  8. 回调函数传参c++_流程篇 | 避免 eval String 进行回调,使用 JSB 进行手动绑定

    想要聚焦 Cocos Creator.Flutter.React Native 等跨平台开发技术实践吗?请大家积极关注我们的技术博客 https://oedx.github.io 背景 一直以来,AB ...

  9. cocos creator jsb2.0手动绑定过程

    在打包原生包的时候js层想调用c++层,但是没有对应的实现需要自己扩展自己的jsb,官方有两种绑定方式:手动绑定和自动绑定,这里着重介绍手动绑定: 首先找到cocos creator自带的c++层的源 ...

最新文章

  1. 硕士Nature一作谈回乡当公务员:考公竞争激烈,科研经历是宝贵财富
  2. python预处理c语言_详解C语言编程中预处理器的用法
  3. iOS 8以上的设置的跳转
  4. java怎么把随机数放入数组_Java学习:集合的使用与数组的区别
  5. maya python 弹出窗口_maya python打印状态复选框?
  6. 全国计算机等级考试题库二级C操作题100套(第50套)
  7. C和指针之数组编程练习3(判断矩阵是否为单位矩阵)
  8. 一招搞定css页面布局
  9. insert exec 语句不能嵌套_Python基础入门知识点——if 语句简介
  10. android recover 系统代码分析 -- 选择进入
  11. 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network
  12. sklearn之PCA(主成分分析)
  13. PHP自动售货发卡网源码,PHP自动售货发卡网源码 集成多种支付接口
  14. windows11右键恢复完整右键菜单
  15. html中video自动循环,HTML5视频自动循环播放方法
  16. 密码学常见基本概念-随机数,伪随机数产生器
  17. 直播继续搅局双11?
  18. sql join备忘
  19. ORB-SLAM笔记———ORB-SLAM3概述
  20. 30秒集结会议、能开“会中会” IMO班聊助力高效协同办公

热门文章

  1. 我爱记单词小程序设计与制作
  2. word中“批量”修改mathtype公式的大小
  3. [概念]深度学习5种标准化层BN、GN、LN、IN、SN + 谷歌提出新的标准化层:FRN
  4. 关于RMI的经验总结
  5. HTML学习笔记8:表单
  6. 【数字IC验证快速入门】40、UVM项目实践之APB_SPI(8)计分板(Scoreboard)和覆盖率(Coverage)
  7. 首批“双一流”建设高校和建设学科完整名单
  8. opensuse 安装 php,openSUSE Apache2安装
  9. 设计原则04:会修电脑不会修收音机-里氏代换
  10. 可新增连线的拓扑图实现