Cocos2d-x的SprideMonkey的JavaScript与C++的交互(二) - 单个全局变量操作

2023-11-04

哇塞最近发现转帖的真多呀.这星期五写的东东..现在满大街都是了.哥哥也不问功名利禄.感觉挺好的.JS火起来我也很开心~呵呵. 当时快下班了.这篇写的有些仓促.现在加精一些.

首先来理解一下sc->getGlobalObject()...这个同学们就问了..你这个不科学...sc是个毛线呀...这块璞哥就说了.不能怪我呀.这要下班了.伤不起呀....璞哥一直说要随心而乐.嘛.是吧.一个礼拜就盼这个呢....好了不扯了.sc就是cocos2d-x给咱封装的那个单键..用过的同学.和看过源码的同学肯定知道cocos2d-x有很多的单键..什么导演呀.xxx是吧..ScriptingCore* sc = ScriptingCore::getInstance(); 关于整个cocos2d-x的js核心类就是这个东东.ScriptingCore.通过这个可以获取到 Root JSObject和 JS上下文.这两个非常重要的东西.下面的实例就是说.在根节点下面取到 x这个变量.后面的东西也就非常好理解了.

一.JS全局变量的操作.

1.修改值.

该例子是说.js里面有个全局变量x.现在把x获取到c++中. 这块是个字符串.

[cpp]  view plain copy
  1. jsval x;  
  2. JS_GetProperty(sc->getGlobalContext(), sc->getGlobalObject(), "x", &x);  
  3. JSString* pS = JS_ValueToString(ScriptingCore::getInstance()->getGlobalContext(), x);  
  4. JSStringWrapper pW(pS);  
  5. CCLog(pW.get().c_str());  

2.获取值.

改例子是说.js里面有个全局变量x.现在通过c++把值给设置成HelloWorld!

[cpp]  view plain copy
  1. jsval x = c_string_to_jsval(sc->getGlobalContext(), "HelloWorld!");  
  2. JS_SetProperty(sc->getGlobalContext(), sc->getGlobalObject(), "x", &x);  

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

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

  • cocos2dx-lua开发旅程(一)

    最近要做一个手游项目 打算用cocos2dx来做 我也是初学者 网上很多书籍和资料都是采用cocos2dx的c 版本来做开发示例的 很少关于cocos2dx和lua怎么结合在实际项目中的教程 这使得我很痛苦 所以我写下这一系列教程 希望跟我
  • cocos2d-x中有一个JniHelper类详细使用

    主体思路 通过JNI获取java虚拟机 再获取当前程序的JNI环境 通过JNI环境获取需要调用的java类信息 再获取需要调用的java类中的函数信息 再通过JNI环境调用 使用类信息 函数信息 调用对应的java函数 看起来好像有点复杂
  • 加密so文件中指定的函数

    加密so文件中指定的函数 作者 0n1y3nd丶 分类 逆向学习 发布时间 2014 09 04 22 24 61条评论 前言 上一篇文章中详细分析了对so文件中自定义section的加密 这一篇来分析下对so文件中自定义函数的加密 原文地
  • Cocos2d-android游戏引擎

    什么是游戏引擎 游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件 这些系统为游戏设计者提供各种编写游戏所需的各种工具 其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始 Cocos2d家族 coc
  • Cocos2d-x的SprideMonkey的JavaScript与C++的交互(一) - 函数操作

    最近也是换了份新工作 搞棋牌平台了 标新立异呵呵 哥哥使用node js来开发这套东东 公司什么底子也没有 在西安就这样吧 最近正在搞 扑克 由于是服务器很多逻辑都是js的所以 希望cocos2d x的客户端也可以js搞起 但是已经用c 写
  • cocos2d-x 卡牌翻牌效果的实现

    cocos2d x 卡牌翻牌效果的实现 2012年07月25日 综合 共 3085字 字号 小 中 大 评论关闭 猴子原创 欢迎转载 转载请注明 转载自Cocos2D开发网 Cocos2Dev com 谢谢 原文地址 http www co
  • cocos2d-x

    http www myexception cn operating system 1222879 html http www tuicool com articles zQ3Q7n http www myexception cn opera
  • 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
  • cocos2dx跨平台直播实例-ffmpeg-ios篇

    一 环境 mac 10 12 2 cocos2dx 3 13 1 ffmpeg 3 0 二 新建项目和编译库 cocos2dx按照官网新建一个实例 ffmpeg编译ios库http blog csdn net u013654125 arti
  • Box2D C++ 教程-查询 World

    声明 本文翻译自Box2D C tutorial World querying 仅供学习参考 查询World 通常你可能想知道在给定的场景中都有哪些实体 例如有一个炸弹爆炸了 周围的所有实物都会受到不同程度的破坏 那么在RTS 译者注 Re
  • 浅解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 常规选项里
  • 导入cocos2d项目后,eclipse引发两个奇怪的错误:“Android Library Update”,“C/C++ Indexer”

    将cocos2d项目导入到eclipse后 会引发两个奇怪的错误 Android 库更新 C C 索引器 Error An internal error occured during C C java lang NullPointerExc
  • 如何在Cocos2d-X中交换CCSprite对象中的精灵

    我有一个从 CCSprite 继承的对象 我想从这个对象内部改变图像 如何在 Cocos2d X 中更改图像 精灵 而不创建新的 CCSprite 对象 谢谢 阿德里安 mySprite gt setTexture CCTextureCac
  • 在 Cocos2d-x 中创建 InAppPurchase [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是 Cocos2d x 的新手 我需要为 Cocos2d x iOS 游戏 CPP 创建 InAppPurchase 任何人都可以帮助我
  • Cocos 2d-x 中带有贝塞尔曲线的圆角矩形

    是否可以使用 DrawNode 对象绘制一个圆角矩形 我认为使用贝塞尔曲线是可能的 但我做了一些尝试 但我认为我无法处理它 查看 API 我只发现这两个函数 绘制四边形贝塞尔曲线 const Vec2 origin const Vec2 c
  • 如何使用 Marmalade 编译 Cocos2d-X?

    有谁知道教程 或者三个简单的步骤来编译我用 Cocos2d x 和 Marmalade 编写的代码 我想将我已经在 Cocos2d X 中编译和使用的代码插入到 marmalade 项目中 然后进行编译 很多地方都写得很简单 但我却很难做到
  • 如何制作双向平台box2d主体?

    我使用 box2d 创建了平台 我想要 box2d 身体检测而不是动态检测 Box2d 形状将执行以下操作 在某些条件下检测碰撞 在某些情况下不检测碰撞 两种条件都适用于同一 box2d 对象中的不同条件 任何想法都会有很大帮助 提前致谢
  • cocos2dx 应用程序中出现“在导入路径中找不到带有标签‘CocosDenshion/android’的模块”错误

    我正在尝试编译在cocos2d x上开发的Android本机应用程序 当我尝试调试我的应用程序时 出现以下错误 Android NDK jni Android mk Cannot find module with tag CocosDens
  • 将cpp文件添加到cocos2d-x项目android项目中

    我已按照本教程进行操作http www raywenderlich com 33750 cocos2d x tutorial for ios and android getting started http www raywenderlic

随机推荐

  • Anaconda切换python版本

    比如 我的 已经安装好了anaconda4 即已经有了python3 5 现在想切换3 7 安装3 7 命令行运行 前提是anaconda环境变量已经配置好 创建一个名为python37的环境 指定Python版本是3 7 conda会为我
  • Dictionary Learning(字典学习、稀疏表示以及其他)

    第一部分 字典学习以及稀疏表示的概要 字典学习 Dictionary Learning 和稀疏表示 Sparse Representation 在学术界的正式称谓应该是 稀疏字典学习 Sparse Dictionary Learning 该
  • js-JavaScript 对象

    1 对象定义 JavaScript 对象是拥有属性和方法的数据 2 格式 键值对 var person firstName John lastName Smith age 50 eyeColor blue move function ale
  • 后端Long型数据传给前端精度丢失问题 分布式id 解决方案

    Long型数据id传给前端精度丢失问题 数据库数据类型bigint 今天将文章类ArticleVo的数据传给前端时 发现前端接收的数据id不一样 如前端获得的id 1405916999732707300 但数据库里是id 140591699
  • springboot国际化message配置

    常常在需求中遇到国际化的要求 而国际化最常见的就是中英文切换 除了前端 后端也需要进行国际化处理 这里来记录一下我实现国际化的步骤代码 1 在resource下的i18n下建立messages properties messages en
  • CycleGAN和Conditional GAN(cGAN)

    当谈到CycleGAN和Conditional GAN cGAN 时 我们涉及到生成对抗网络 GAN 的不同变体 让我逐步介绍它们的原理和应用 CycleGAN CycleGAN是一种无监督的图像转换模型 它可以在两个不同的图像域之间进行转
  • Ubuntu Source Insight 4.0安装后首次打开报错

    系统为中文会出现 Unable to open or create 中文路径 sidb 参照网上修改regedit方法 发现没用 直接修改 wine drive c users server 我的文档 为 wine drive c user
  • C++ 中 map 容器的内存释放机制及内存碎片管理

    C 中 map 容器的内存释放机制及内存碎片管理 C 中的容器很好用 比如 vector map 等 可以动态扩容 自己管理内存 不用用户关心 但是在某些极端情况下 如果内存比较紧张的情况下 可能用户对于这些容器自己的管理规则 主要是释放规
  • Linux read命令

    读取n个字符存入变量 不用按回车 输入到第n个自动结束 student myhost read n 3 a 123 student myhost echo a 123 无回显方式读取密码 student myhost read s pass
  • windows spacemacs实现org-mode转latex,然后生成pdf

    spacemacs默认英文字体做如下修改 安装了完整版ctex套装 spacemacs增加layer gt latex 增加windows的path路径 解决org mode里中英文等宽问题 latex编译命令 pdf预览等 实现了org转
  • 什么是文件目录,文件目录项的主要内容是什么?

    文件目录是记录系统中所有文件的名字及其存放地址的目录表 表中还包括关于文件的说明信息和控制信息 主要内容如下 1 文件名 文件名分为文件的符号名和内部标识符 id号 2 文件的逻辑结构 说明该文件是否是定长 记录长度及记录个数等 3 文件的
  • USB如何布局走线

    1 先上图 USB分为2 0和3 0 2 USB布局走线需要注意的地方 静电防护 阻抗匹配 同组等长
  • cv::Mat遍历赋值的几种方式

    cv Mat赋值的几种方式 1 前言 2 Mat简介 3 遍历Mat赋值方式 方式一 方式二 方式三 4 测试 5 参考文献 1 前言 背景 获取传感器数据后需要保存成图片 有时需要对里面的元素进行操作 因为是自己开发 不能直接得到图片 所
  • CopyOnWriteArrayList部分源码分析

    CopyOnWriteArrayList部分源码分析 我们都知道ArrayList是基于数组实现的可动态扩容的集合 但是他实际上也是线程不安全的 而在JUC java util concurrent 下有个线程安全的数组集合 就是CopyO
  • django开发电子商城(四)django分页进阶和列表长度控制

    1 在list html中增加bootstrap分页代码 2 增加样式 使分页列表居中 3 修改views py文件 将分页数据传到前端 4 修改list html 根据传到前端的分页数据进行渲染分页条
  • 1035 插入与归并

    1035 插入与归并 根据维基百科的定义 插入排序是迭代算法 逐一获得输入数据 逐步产生有序的输出序列 每步迭代中 算法从输入序列中取出一元素 将之插入有序序列中正确的位置 如此迭代直到全部元素有序 归并排序进行如下迭代操作 首先将原始序列
  • python循环语句for 循环十次_python循环10次写法以及实例代码

    python循环10次怎么写 Python for循环可以遍历任何序列的项目 如一个列表或者一个字符串 语法 for循环的语法格式如下 for iterating var in sequence statements s 例子 for i
  • PHP 实现网页爬虫

    方法一 通过fopen和stream get contents获取html内容 从给定的url获取html内容 爬虫程序 原型 从给定的url获取html内容 通过fopen和stream get contents获取html内容 para
  • vue+typescript与UE4像素流通信笔记

    一 文件准备 1 从搭建好的UE4项目下找到scripts文件夹 拷贝该文件夹 重点文件为app js与webRtcPlayer js 到vue项目下的静态资源文件夹 默认public文件夹 下 如下图 在vue项目的index html下
  • Cocos2d-x的SprideMonkey的JavaScript与C++的交互(二) - 单个全局变量操作

    哇塞最近发现转帖的真多呀 这星期五写的东东 现在满大街都是了 哥哥也不问功名利禄 感觉挺好的 JS火起来我也很开心 呵呵 当时快下班了 这篇写的有些仓促 现在加精一些 首先来理解一下sc gt getGlobalObject 这个同学们就问