Javascript Binding (简称JSB) 自动绑定教程。

私信来帮你看看。

推荐阅读 Cocos2D-x从C++到JS的进阶之路:http://blog.51cto.com/zt/560

LZ要是把这个链接加到一楼那是极好的!

already done

感谢楼主的帮助,从年前到年后,现在jsb总算可以很好的生成了。:14:

楼主帖子写的很好!
测试例子可以自动生产了
自己写的c++类也可以自动生产,但只要在头文件中加入cocos2d.h就生产不了!
楼主有遇到过吗?有好的解决思路吗
谢谢!

学习了,mark

包含了cocos2d.h…就会提示details = “‘cocos2d.h’ file not found”…应该怎么解决??..

最近刚研究js 如果想要在ios发布 肯定需要 类似于lua一样 很简单的跟c++交互
因此参照之前lua绑定注册方式 也看了LZ写的跟lua绑定大致一样的 只是一些NDK的版本要求不同
我目前使用的是 js3.2-rc0 在绑定js的时候 Generating javascript bindings succeeds. 有提示成功了
生成后的.cpp里面只有dummy_constructor、empty_constructor、js_is_native_obj、register_all_cocos2dx_GameAppContext函数

我在GameAppContext.h里面写一个sharedContext静态函数没有生成出来 还请有经验的大牛指教下。

我目前使用的也是 js3.2-rc0 在绑定js的时候 Generating javascript bindings succeeds. 有提示成功了
我把CCImage类加进去了,里面
extern JSClass *jsb_cocos2d_Image_class;
extern JSObject *jsb_cocos2d_Image_prototype;

bool js_cocos2dx_Image_constructor(JSContext *cx, uint32_t argc, jsval *vp);
void js_cocos2dx_Image_finalize(JSContext *cx, JSObject *obj);
void js_register_cocos2dx_Image(JSContext cx, JSObject global);
void register_all_cocos2dx(JSContext
cx, JSObject
obj);
bool js_cocos2dx_Image_hasPremultipliedAlpha(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getDataLen(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_saveToFile(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_hasAlpha(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_isCompressed(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getHeight(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_initWithImageFile(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getWidth(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getBitPerPixel(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getFileType(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getNumberOfMipmaps(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getRenderFormat(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getData(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_getMipmaps(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_initWithRawData(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_setPVRImagesHavePremultipliedAlpha(JSContext *cx, uint32_t argc, jsval *vp);
bool js_cocos2dx_Image_Image(JSContext *cx, uint32_t argc, jsval *vp);
都有了
但是我用var image = new cc.Image()
的时候报cc.Image is not a constructor
哪位大牛能告诉我哪里出问题了

正好需要,学习

details = “‘cocos2d.h’ file not found” 怎么解决的呀???

求指点,jsb出坑

执行genbindings.py脚本之后,能够在custom目录下生成api文件夹和对应的.hpp、.cpp文件,但是用这个引擎生成项目的时候却没有拷贝过去,是为什么呢?

然后api文件夹中的 jsb_HelloWorld_auto_api.js这个文件里面是这样的:


/**
 * @class HelloWorld
 */
HelloWorld = {

/**
 * @method create
 * @return {HelloWorld}
 */
create : function (
)
{
    return HelloWorld;
},

/**
 * @method sayHello
 * @return {char}
 */
sayHello : function (
)
{
    return 0;
},

};

函数里都是空的是什么意思。

新手完全不懂是怎么一回事,只想知道怎么用js调用c++的代码就好了T_T

请问js绑定生成的文件是空的是怎么回事

mask