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

哇塞最近发现转帖的真多呀.这星期五写的东东..现在满大街都是了.哥哥也不问功名利禄.感觉挺好的.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++中. 这块是个字符串.

            jsval x;
            JS_GetProperty(sc->getGlobalContext(), sc->getGlobalObject(), "x", &x);
            JSString* pS = JS_ValueToString(ScriptingCore::getInstance()->getGlobalContext(), x);
            JSStringWrapper pW(pS);
            CCLog(pW.get().c_str());

2.获取值.

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

            jsval x = c_string_to_jsval(sc->getGlobalContext(), "HelloWorld!");
            JS_SetProperty(sc->getGlobalContext(), sc->getGlobalObject(), "x", &x);

待续...复杂的Arry和Object.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值