Cocos2d-x的SprideMonkey的JavaScript与C++的交互(三) - 全局变量Obj的操作

2023-10-30

需求:

全局变量Obj的操作.

这个是作为JS脚本来说非常有用处的一个地方.比如说.咱们想在JS脚本中存下窗口位置和大小.还有其他杂七杂八的东西.对游戏或者应用开发来说是在平常不过的需求了.本人也是想说..lua这个东东吧..越来越淡薄了..哎~ TS3选择lua真是个惨痛的代价..抓狂..还写了个IDE来调试他 哎~.看来我真是浪费功夫.浪费的太多了.这一节.璞哥给大家闹这个obj...大家别说这篇 篇幅小哦...是在没辙.就是很简单...懂JS的同学肯定都知道 js是个非常非常弱类型的语言..所有的东东都能Obj...啥都能Obj里面塞..不知道的同学可以看看本人blog里面关于Javascript数据结构的文章..估计就会豁然开朗了吧.呵呵.

JavaScript脚本里面可以这样写..然后咱们要去读取MM的值..这块就读下字符串..其他类型当然也可以读到了.如果有什么不明白的地方欢迎加我Q群.就在blog帖子置顶贴上面.

[javascript]  view plain copy
  1. var obj = {};  
  2. obj.MM = "TimeShift Engine Awesome!"  

然后cpp里面就可以这样读出MM的值..

[cpp]  view plain copy
  1. ScriptingCore* sc = ScriptingCore::getInstance();  
  2. sc->runScript("CMAI/main.js");  
  3. {  
  4.     JSObject* pObj = nullptr;  
  5.     jsval obj;  
  6.     JS_GetProperty(sc->getGlobalContext(),sc->getGlobalObject(),"obj", &obj);  
  7.     JS_ValueToObject(sc->getGlobalContext(),obj,&pObj);  
  8.   
  9.     jsval mm;  
  10.     JS_GetProperty(sc->getGlobalContext(),pObj,"MM", &mm);  
  11.     JSString* pS = JS_ValueToString(sc->getGlobalContext(), mm);  
  12.     JSStringWrapper pW(pS);  
  13.     CCLog(pW.get().c_str());  
  14. }  

实际上代码很简单.就是说. 全局root的JSObject里面有个obj变量..然后获取obj变量之后呢.发现jsval里面是个JSObject..然后这个JSObject肯定里面就有MM了哦...然后就..各位同学你懂的..然后就转化出来字符串了..祝大家编码开心,加班愉快~~.

有的同学就说了..我去 璞哥..你Y是不是看 狂湿 片子看附身了...最近感觉也是.....哎~. 自从看到了 不狂大神的 亲笔签名照..鄙人感觉妥妥的受了很大的刺激..我去...这不是庾澄庆么...我了个无奈..啥都不说了.~果断了.dota去.

哦.下一张给大家介绍如何获取一个 JS的数组并遍历. 尽请期待.~!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cocos2d-x的SprideMonkey的JavaScript与C++的交互(三) - 全局变量Obj的操作 的相关文章

  • fvf采用另外一种方式渲染

    if FAILED hr getActiveD3D9Device gt SetVertexDeclaration d3ddecl gt getD3DVertexDeclaration getGlobalInstanceVertexBuffe
  • Unity3D的断点调试功能

    Unity3D的断点调试功能 2013 03 14 16 27 51 分类 Unity教程 标签 unity monodevelop 断点调试 debug 举报 字号 订阅 断点调试功能可谓是程序员必备的功能了 Unity3D支持编写js和
  • Cocos2d-x Js Binding 的手动绑定实现

    http www ityran com archives 4902 Cocos2d x Js Binding 的手动绑定实现 一叶 cocos2d x 08 13 2304 4条评论 随着 Cocos2d x 的发展 Cocos2d htm
  • cocos2d-x中有一个JniHelper类详细使用

    主体思路 通过JNI获取java虚拟机 再获取当前程序的JNI环境 通过JNI环境获取需要调用的java类信息 再获取需要调用的java类中的函数信息 再通过JNI环境调用 使用类信息 函数信息 调用对应的java函数 看起来好像有点复杂
  • CCMoveBy和CCMoveTo有什么区别?

    CCMoveBy和CCMoveTo有什么区别 cocos2d里面的CCMoveBy 和CCMoveTo有什么区别 含义不同的地方在那块 那位高人给解释一下 谢谢 insul 2010 09 14 18 52 by是相对于当前位置 to是到该
  • pvr 与 png 的内存占用

    原文链接 http blog sina com cn s blog 6fbe210701015j7z html Zwoptex 生成的 spritesheet 除了可以导出 png 格式的图片外还有 pvr 格式 pvr 格式是 iOS 的
  • android Intent启动flag

    android Intent启动flag 分类 android框架 2013 10 30 14 47 1318人阅读 评论 0 收藏 举报 FLAG GRANT READ URI PERMISSION 如果设置这个标记 Intent的接受者
  • Cocos Creator 初识编辑器界面

    编辑器界面的介绍 1 资源管理器 2场景编辑器 3层级管理器 4属性检查器 节点和组件属性的工作区 以及脚步绑定位置 5控制库 预设控件的仓库库 可以通过拖拽方式添加到场景中 并且可以将用户自己的预制资源 prefab 添加到控件库里方便再
  • cocos2d-x实例学习(8)之CCJumpTo和CCJumpBy

    CCJumpTo和CCJumpBy概念 CCJumpTo 把某一CCSprite跳到某一位置 CCJumpBy 把某一CCSprite跳起一段距离 它有一个方法reverse 它让对象按原路径返回 CCJumpTo和CCJumpBy示例 创
  • static函数与普通函数

    全局变量 外部变量 的说明之前再冠以static 就构成了静态的全局变量 全局变量本身就是静态存储方式 静态全局变量当然也是静态存储方式 这两者在存储方式上并无不同 这两者的区别虽在于非静态全局变量的作用域是整个源程序 当一个源程序由多个源
  • Cocos2d-x 3.17.1 Android Studio环境搭建和创建编译项目和真机调试

    eclipse NDK参考 https www cnblogs com l d d p 6531557 html 最近项目上需要用Cocos2d x在Android智能硬件上进行开发 很早之前搭建过Cocos2d x3 15 1 Eclip
  • 浅解cocos2d-x中的CCSprite绘制原理

    cocos2d x版本为2 0 4 此画图调用的是opengl es 2 0版本 支持三角形画图 故必须有一个顶点数组 此定义定义在CCSprite h中 ccV3F C4B T2F Quad m sQuad 而这个顶点数组的定义为 4 c
  • Openframework在VS2010中的配置

    Openframework在VS2010中的配置 首先去官网下载Openframework 下载后最好解压到C盘根目录下 不然会出现各种问题 我也不知道怎么解决 随便打开其中的例程 然后右击该工程 选择属性 如下图 接着在C C 常规选项里
  • Android.mk - 构建目录中的所有源文件

    我正在使用 Android NDK 构建我的 cocos2dx 项目 在 Android mk 中 有一个 LOCAL SRC FILES 的定义 其中列出了每个 cpp 文件 每当我添加新的源文件时 我也需要将它添加到那里 它看起来像这样
  • Cocos2dx Android 构建错误:“arm-linux-androideabi-g++:没有这样的文件或目录”

    我下载了最新的cocos2dx 3 10 和NDK r11 我执行的时候出现以下错误cocos compile p android android studio Error AndroidDev android ndk r11 toolch
  • Android 设备的后退和主页按钮按下事件 (cocos2d-x 3)

    我这样做是为了抓住Home and BackAndroid 设备上的按钮按下事件 被覆盖void Layer onKeyReleased EventKeyboard KeyCode keyCode Event event 像这样的函数 vo
  • 如何使用 Cygwin 打开 RTTI?

    当我的Android NDK C 本机代码编译时 出现以下错误 错误 fno rtti 不允许使用 dynamic cast 有人告诉我打开RTTI 但我不知道该怎么做 我需要修改吗Application mk或者是什么 my Applic
  • 安卓后退按钮不起作用

    我正在使用 cocos2dx 制作一个小游戏 在游戏的活动中我提供以下函数来处理后退按钮 Override public boolean onKeyDown int keyCode KeyEvent event return super o
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 将 Spritekit 游戏转换为 Android?

    是否有任何新选项可以将 spritekit 游戏转换为 Android 游戏 似乎唯一的选择是用 Java 重新编码所有内容或使用 Cocos2D LibGDX 等 很不幸的是 不行 而且带有 Apportable 服务的跨平台 Sprit

随机推荐

  • Kotlin常用的高阶函数(ForEach、Map、Flatmap、Fold、Reduce......)

    一 ForEach 类型于Java的传统的写法 package net println kotlin chapter5 builtins author wangdong description Kotlin常见的高阶函数 fun main
  • LLM-项目详解-Chinese-LLaMA-AIpaca(一):LLM+LoRa微调加速技术原理及基于PEFT的动手实践:一些思考和mt0-large+lora完整案例

    如何花费较少的算力成本来进行微调训练 十分重要 当前关于LLaMA Alpaca Instruct微调 LoRa微调等多个概念大家讲的很多 最近也在学习 也看到几个有趣的话题 主要参考于 https github com ymcui Chi
  • CompletableFuture使用案例

    最近遇到一个前端接口需要批量请求接口 担心超时 所以使用批量异步的请求方式 批量构造请求 for ProductInfoParam productInfoParam list CompletableFuture
  • 实战分享:一文读懂RS-232总线

    大家好 我是阿荣 感恩遇见 本文部分图文来源于网络 并经过整合 编辑和勘误 实战分享栏目将重点介绍嵌入式的基础知识 并融合一些实战经验 持续勘误和迭代 建议关注和收藏 WX同名 RS 232概述 RS 232标准接口 又称EIARS 232
  • php的MVC模式

    php的MVC模式 model 存放向数据库请求来的数据 view 存放组件 图片 页面模板html文件 controller 获取或改变model里的数据返回给页面渲染数据 1 根目录入口php文件index php 在此定义目录常量方便
  • (三)Refactor

    在实现线程池上个版本中 提交任务需要重写Task run 方法 获取结果会被阻塞直至任务完成 使用C 异步新标准解决上述问题 提交任务期望有如下简洁格式 auto res1 pool submitTask func 1 2 可以使用C 17
  • c++ 小型公司人员管理 类的继承和派生实战

    写在前面 希望这篇文章能对大家有一点点帮助 欢迎一起交流进步 谢谢大家的阅读 一 题目 3 小型公司人员管理 某小型公司有四类人员 总经理 技术人员 销售经理 推销员 设计一个基类employee派生出 manager 总经理 techni
  • 读取多波段的tif(利用GDAL)

    bmp的格式是RGBRGB 排列下来的 每个像素的三个分量靠在一起 描述完一个像素 接着描述下一个像素 tif的格式更多样 通常的格式也是BGRBGR 次序与bmp相反 排列下来的 但偶尔有一些tif文件采用RRRRRR GGGGG BBB
  • 银行核心系统

    文章来源与某位大神的力作 写的非常好 科目的地方首位科目号有待商榷 但总之看完后很多东西一目了然 银行核心系统入门简介 本文的目标读者是准备从事银行核心系统开发 维护的从业人员 请注意 是 准备 换句话说 可以理解为一份对科技人员 尤其是对
  • 【SpringBoot】DEMO:上传头像并把头像的路径存放到数据库

    SpringBoot DEMO 上传头像并把头像的路径存放到数据库 一 任务介绍 二 目录结构 三 功能实现 四 实现效果 五 大功告成 一 任务介绍 判断图片是否为空 不为空 把图片上传到服务器 把图片的路径写入数据库 二 目录结构 三
  • Python中的列表部件QListWidget详解

    Python中的列表部件QListWidget详解 QListWidget是Qt框架中的一个常用部件 用于显示列表数据 在Python中 我们可以使用PyQt库来创建和操作QListWidget部件 本文将详细介绍QListWidget的使
  • Svg画图

    一 Svg是什么 SVG 指可伸缩矢量图形 SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失 SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是
  • 主频计算-架构真题(二十三)

    某文件系统采用多级索引结构 若磁块大小为4K字节 每个块号需占4个字节 那么采用二级索引结构时的文件最大长度可占用 个物理块 1 1024 2 1024 1024 3 2048 2048 4 4096 4096 答案 B 解析 磁盘大小 块
  • 超详细:通过neo4j构建数电知识图谱

    将neo4j gt 连接mysql CALL apoc load jdbc 创建节点 ranker代表课程id name代表该学科名称 create n course name 数字电路与逻辑设计 ranker 4 return n 建立课
  • Gazebo载入模型问题汇总

    问题1 载入模型的时候零件之间的关节断开 gazebo载入一个四足机器人模型的时候 发现它的有些关节断开了 如下图这种 身子还在中间躺着 但是机器人的大腿已经不知道被谁砍了下来 右上角哪个红色大腿非常明显 原因及解决办法 这里由于我的joi
  • Metric评价指标-Perplexity语言模型

    欢迎关注知乎 世界是我改变的 知乎上的原文链接 一 原理介绍 在研究生实习时候就做过语言模型的任务 当时让求PPL值 当时只是调包 不求甚解 哈哈哈 当时也没想到现在会开发这个评价指标 那现在我来讲一下我对这个指标的了解 望各位大佬多多指教
  • HyperLogLog-Redis中的基数统计算法

    1 基本概念 基数 cardinality 是指一个集合中不同元素的个数 例如集合 1 2 3 4 5 2 3 9 7 这个集合有9个元素 但是2和3各出现了两次 因此不重复的元素为1 2 3 4 5 9 7 所以这个集合的基数是7 Red
  • 过来人聊聊眼中的普通码农和技术大牛的区别

    最近几年 IT行业中的各个群里突然流行了一个词 大牛 有些人因为在学术界发了很多论文而被称之为牛 有些人因为在群里努力帮助大家解决问题而被称之为大牛 有些人因为写了一本技术的书而被称之为大牛 有些人因为开源了很多技术知识二被称之为大牛 还有
  • Executor框架及线程池总结

    概述 Executor作为一个灵活且强大的异步执行框架 其支持多种不同类型的任务执行策略 提供了一种标准的方法将任务的提交过程和执行过程进行了解耦开发 基于生产者和消费者模型 还提供了对生命周期的支持 以及统计信息收集 应用程序管理机制和性
  • Cocos2d-x的SprideMonkey的JavaScript与C++的交互(三) - 全局变量Obj的操作

    javascript c 交互 spidermonkey javascript c 交互 需求 全局变量Obj的操作 这个是作为JS脚本来说非常有用处的一个地方 比如说 咱们想在JS脚本中存下窗口位置和大小 还有其他杂七杂八的东西 对游戏或