摘要:
cocos2d 2.0之后加入了一种九宫格的实现,主要作用是用来拉伸图片,这样的好处在于保留图片四个角不变形的同时,对图片中间部分进行拉伸,来满足一些控件的自适应(PS:比如包括按钮,对话框,最直观的形象就是ios里的短信气泡了),这就要求图片资源的中间部分是纯色或者是简单的渐变了!1.cocos2d中九宫格CCScale9Sprite的实现(1)原理cocos2d的实现非常巧妙,是通过1个CCSpriteBatchNode和9个CCSprite来实现的,原理很简单,通过将原纹理资源切割成9部分(PS: 这也是叫九宫格的原因),根据想要的尺寸,完成以下的三个步骤:a. 保持4个角部分不变形b. 阅读全文
摘要:
1:C++中调用js方法:问题:ios中当用户通过home键将游戏转入后台时,调用js中的暂停游戏方法;AppDelegate::applicationDidEnterBackground() 和 applicationDidEnterForeground()方法是C++方式处理程序进入后台与前台的代码,在此处添加C++调用js的代码:?//version 2.1.3ScriptingCore* sc = ScriptingCore::getInstance();jsval nsval;JS_GetProperty(sc->getGlobalContext(), sc->getGl 阅读全文
摘要:
1.js调用c++函数在c++中声明函数,名为functionCpp,通过spidermonkey中jsapi的JS_DefineFunction绑定一个js函数,名为functionJS,此函数名可在js中直接调用,并可以传参,参数由functionCpp接收。2.c++调用js函数在js中声明函数,名为functionJS,通过spidermonkey中jsapi的JS_CallFunctoionName(也可用JS_CallFunction,但参数不一样),c++调用该函数,并传入参数,参数由functionJS接收。以上两种方法皆可接收返回值。示例代码:js中 var haha ... 阅读全文
摘要:
本文档主要涵盖如何嵌入SpiderMonkey javascript引擎到你自己的c++程序中。JavaScript在浏览器端已经被广泛使用了。但是,Mozilla的javascript引擎可以被嵌入到任何c++程序中,而不仅仅是应用于浏览器。许多应用程序开发可以通过脚本化的方式获益,这些程序可以使用SpiderMonkey API让c++代码里面跑js代码。What SpiderMonkey does?Javascript引擎编译并执行js脚本。引擎本身负责脚本执行时的对象内存分配,垃圾收集等工作。SpiderMonkey支持Javascript 1.0-1.8版本。Js 1.3以及后来的版 阅读全文
摘要:
第一部分:配置安装环境cxx-generator是由Zynga工程师贡献的C++代码绑定到js工具。用于将cocos2d-x 的c++代码,生成相应的js绑定代码(由c++写成),然后将这些函数注册到spidermonkey的解释器中。通过将js代码映射成c++代码,就可以使用相应的js接口了。所需要的环境mac os x系统python2.7py-yamlcheetah (for target language templates)libclang, from clang 3.1前三个可以通过macports自动安装macports下载地址http://www.macports.org/in 阅读全文
摘要:
如果没有预先加载图片,则可以通过addImageAsync()函数实现异步加载,该函数通过创建一个加载线程来加载图片,并且在主线程中通过调用回调函数来读取该图片资源纹理。其主要过程如下:1.创建线程,用于后台加载图片2.将对于需要加载的图片放入图片资源队列中3.callback函数设定,用于将加载完成的图片转为纹理,等待使用其调用是由CCTimer::update调用的。4.addImageAsyncCallBack函数在处理完纹理转换,还会调用addImageAsync传入的SEL_CallFuncO selector,实现用户加载图片纹理之后的具体处理。void addImageAsync 阅读全文
摘要:
写程序,和做其他的事情一样,一开始要学招式,模仿用招式,最后才可以谈创新谈无招;但是现在人好像都忽略了这个常识。没开始学呢,就天马行空的想,那是浅薄。*****************************我们通过CCNode的position设定元素的位置使用的是相对与其父节点的本地坐标系而非世界坐标系坐标。世界坐标系和GL坐标系一致,原点在屏幕左下角,x轴向右,y轴向上。*****************************convertToWorldSpace方法可把基于当前节点的本地坐标系下的坐标转换到世界坐标系中。*****************************co. 阅读全文