Cocos Creator jsb手动绑定C++
使用的是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++相关推荐
- java中JSB_深入解析Cocos Creator JSB绑定原理以及应用实践
背景 一直以来,ABCmouse 项目中的整体 JS/Native 通信调用结构都是基于 callStaticMethod evalString 的方式.通过 callStaticMethod 方法我 ...
- Cocos Creator JSB [Lv.1] (1)
目录 摘要 系列文章 JSB能做什么 环境 资源 准备工作 正式开始 对工程做一些修改 如何互动 小姐姐现身 与小姐姐互动的桥梁 找到小姐姐 划重点 摘要 本系列文章主要实操JSB的手动绑定,在官方教 ...
- Cocos Creator JSB [Lv.3]
目录 摘要 资源 正式开始 为什么要使用`JSB` `JSB`能做什么 进行`JSB`绑定需要做什么 构建工程 创建类 绑定(搭建桥梁) 实现自定义的类型转换(非必须) 注册 将新增的文件加入`lib ...
- Cocos Creator JSB [Lv.1] (3)
目录 摘要 系列文章 正式开始 准备礼物 怎么送 送礼物 seval_to_Gift 最终效果 在 Android 平台测试 划重点 摘要 承接上文 Cocos Creator JSB [Lv.1] ...
- Cocos Creator JSB绑定
至于绑定所需要的环境,自己百度,文章最后提供部分环境依赖 D:\CocosCreator 为Cocos Creator安装目录 在D:\CocosCreator\resources\cocos2d-x ...
- Cocos Creator JSB [Lv.2] TODO
目录 摘要 环境 资源 并未正式开始 思路 问题 参考 摘要 本文本来是想介绍JSB自动绑定,但在为自动绑定工具搭建运行环境时,发现对运行环境的要求有些苛刻.python,yaml,cheetah都需 ...
- Cocos Creator JSB绑定 MAC系统环境
编译环境 python2.7(mac自带) 1.安装PyYAML mac: sudo easy_install pyyaml win: pip install pyyaml 2.安装Cheetah 下 ...
- 回调函数传参c++_流程篇 | 避免 eval String 进行回调,使用 JSB 进行手动绑定
想要聚焦 Cocos Creator.Flutter.React Native 等跨平台开发技术实践吗?请大家积极关注我们的技术博客 https://oedx.github.io 背景 一直以来,AB ...
- cocos creator jsb2.0手动绑定过程
在打包原生包的时候js层想调用c++层,但是没有对应的实现需要自己扩展自己的jsb,官方有两种绑定方式:手动绑定和自动绑定,这里着重介绍手动绑定: 首先找到cocos creator自带的c++层的源 ...
最新文章
- 硕士Nature一作谈回乡当公务员:考公竞争激烈,科研经历是宝贵财富
- python预处理c语言_详解C语言编程中预处理器的用法
- iOS 8以上的设置的跳转
- java怎么把随机数放入数组_Java学习:集合的使用与数组的区别
- maya python 弹出窗口_maya python打印状态复选框?
- 全国计算机等级考试题库二级C操作题100套(第50套)
- C和指针之数组编程练习3(判断矩阵是否为单位矩阵)
- 一招搞定css页面布局
- insert exec 语句不能嵌套_Python基础入门知识点——if 语句简介
- android recover 系统代码分析 -- 选择进入
- 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network
- sklearn之PCA(主成分分析)
- PHP自动售货发卡网源码,PHP自动售货发卡网源码 集成多种支付接口
- windows11右键恢复完整右键菜单
- html中video自动循环,HTML5视频自动循环播放方法
- 密码学常见基本概念-随机数,伪随机数产生器
- 直播继续搅局双11?
- sql join备忘
- ORB-SLAM笔记———ORB-SLAM3概述
- 30秒集结会议、能开“会中会” IMO班聊助力高效协同办公
热门文章
- 我爱记单词小程序设计与制作
- word中“批量”修改mathtype公式的大小
- [概念]深度学习5种标准化层BN、GN、LN、IN、SN + 谷歌提出新的标准化层:FRN
- 关于RMI的经验总结
- HTML学习笔记8:表单
- 【数字IC验证快速入门】40、UVM项目实践之APB_SPI(8)计分板(Scoreboard)和覆盖率(Coverage)
- 首批“双一流”建设高校和建设学科完整名单
- opensuse 安装 php,openSUSE Apache2安装
- 设计原则04:会修电脑不会修收音机-里氏代换
- 可新增连线的拓扑图实现