js代码调用c++代码的测试

根据前面的博客对JS调用C++的代码进行了测试,在Node里面加了jsbTest的方法进行Android打包测试。

1.编写coco2dx层的方法

CCNode.h

<span style="font-size:12px;">virtual int jsbTest() const;</span>


CCNode.cpp 

int Node::jsbTest(void) const
{
    return 100;
}
2.编写js层的方法

jsb_cocos2dx_auto_api.js

cc.Node = {
jsbTest : function() {
    return 0;
},
}
3.进行方法映射

jsb_cocos2dx_auto.hpp

bool js_cocos2dx_Node_jsbTest(JSContext *cx, uint32_t argc, jsval *vp);   //声明
jsb_cocos2dx_auto.cpp

bool js_cocos2dx_Node_jsbTest(JSContext *cx, uint32_t argc, jsval *vp)
{
    JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
    JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
    js_proxy_t *proxy = jsb_get_js_proxy(obj);
    cocos2d::Node* cobj = (cocos2d::Node *)(proxy ? proxy->ptr : NULL);
    JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_Node_jsbTest : Invalid Native Object");
    if (argc == 0) {
        uint16_t ret = cobj->jsbTest();
        jsval jsret = JSVAL_NULL;
        jsret = uint32_to_jsval(cx, ret);
        args.rval().set(jsret);
        return true;
    }

    JS_ReportError(cx, "js_cocos2dx_Node_jsbTest : wrong number of arguments: %d, was expecting %d", argc, 0);
    return false;
}
static JSFunctionSpec funcs[] = {
       JS_FN("jsbTest", js_cocos2dx_Node_jsbTest, 0, JSPROP_PERMANENT | JSPROP_ENUMERATE),  //映射
}


运行结果

05-21 18:13:18.293: D/cocos2d-x debug info(5009): JS: 100







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 你可以使用记事本编写小游戏代码,首先打开记事本,然后输入代码并保存为 .py 文件。在编写代码时,你需要了解编程语言和游戏设计的基础知识。你可以在网上搜索相关的教程和资料,或者参考一些开源的小游戏代码来学习。 ### 回答2: 使用记事本编写小游戏代码需要遵循以下步骤: 1. 打开记事本应用程序,可以在Windows操作系统中通过点击“开始”按钮,搜索“记事本”来找到它。 2. 在记事本中创建一个新文件,点击“文件”菜单,选择“新建”。 3. 在新建文件中,输入你的小游戏代码。小游戏代码可以是任何编程语言,如Python、Java、C++等。你可以参考在线的编程教程或书籍中的示例代码,在记事本中逐行输入代码。 4. 保存你的代码文件,点击“文件”菜单,选择“保存”。选择一个合适的文件名,并为文件选择一个合适的文件类型,以 .py/.java/.cpp 为扩展名分别表示Python/Java/C++代码文件。 5. 运行你的小游戏代码,通过在记事本中点击“文件”菜单然后选择“运行”,或者按下键盘上的相应快捷键来运行代码。请注意,记事本并没有集成开发环境(IDE)的功能,因此你可能需要在系统的命令行界面或者其他编程环境中调用运行你的代码文件。 6. 测试你的小游戏代码,观察输出、运行速度和交互效果等,如果需要,可以对代码进行调试和修改,然后保存并重新运行。 使用记事本编写小游戏代码相较于使用专业的代码编辑器会更为基础和简单。但记事本并不提供代码自动补全、语法高亮等功能,因此对于大型项目而言,推荐使用专业的集成开发环境(IDE)。 ### 回答3: 要用记事本写小游戏代码,首先需要学习基本的编程语言知识,例如Python或JavaScript。这些语言都有自己的语法和规则,需要我们理解和掌握。 开始写代码前,可以先确定游戏的主题和基本规则,例如是否是一个文本冒险游戏或迷宫游戏。然后,我们可以使用记事本打开一个新的文本文件,并将其保存为一个具有合适扩展名的文件(例如.py或.js),以便识别该文件是代码文件。 在记事本中,我们可以按照语言的语法规则来编写代码。例如,在Python中,我们可以使用if/else语句来处理条件判断,使用for循环来进行重复操作,使用函数来组织代码等等。我们可以根据游戏逻辑和需求,逐步编写代码,实现游戏的基本功能。 编写代码时需要注意语法的正确性,如括号的配对、缩进的规范等。如果遇到错误,记事本常常无法提供像IDE(集成开发环境)那样的实时错误提示,因此需要仔细检查代码并查找错误。 当我们完成编写后,可以保存代码文件,并使用适当的命令行工具来运行代码。在命令行中输入相应的命令,即可运行游戏。如果代码中有错误,命令行会显示相应的错误信息,我们需要根据提示进行修改。 使用记事本写小游戏代码需要耐心和仔细,因为记事本并不像IDE那样提供编码辅助和自动完成功能。但通过理解编程语言的基础知识,熟悉语法规则,我们仍然可以用记事本编写而运行小游戏代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值