1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
//在AppDelegate::applicationDidFinishLaunching函數中 ScriptingCore*
sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(JSB_register_opengl); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(MinXmlHttpRequest::_js_register); sc->addRegisterCallback(register_jsb_websocket); sc->addRegisterCallback(register_all_cocos2dx_builder); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(register_all_cocos2dx_gui); sc->addRegisterCallback(register_all_cocos2dx_gui_manual); sc->addRegisterCallback(register_all_cocos2dx_studio); sc->addRegisterCallback(register_all_cocos2dx_studio_manual); sc->addRegisterCallback(register_all_cocos2dx_spine); |
1
2
|
var node
= cc.Node.create(); node.setVisible( false ); |
1
2
|
auto node
= CCNode::create(); node->setVisible( false ); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
JSBool
js_cocos2dx_Node_create(JSContext *cx, uint32_t argc, jsval *vp) { if (argc
== 0) { cocos2d::Node*
ret = cocos2d::Node::create(); jsval
jsret = JSVAL_NULL; do { if (ret)
{ js_proxy_t
*proxy = js_get_or_create_proxy<cocos2d::Node>(cx, (cocos2d::Node*)ret); jsret
= OBJECT_TO_JSVAL(proxy->obj); } else { jsret
= JSVAL_NULL; } } while (0); JS_SET_RVAL(cx,
vp, jsret); return JS_TRUE; } JS_ReportError(cx, "js_cocos2dx_Node_create
: wrong number of arguments" ); return JS_FALSE; } |
1
|
cocos2d::Node*
ret = cocos2d::Node::create(); |
1
|
jsval
jsret = JSVAL_NULL; |
1
2
|
js_proxy_t
*proxy = js_get_or_create_proxy<cocos2d::Node>(cx, (cocos2d::Node*)ret); jsret
= OBJECT_TO_JSVAL(proxy->obj); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
JSBool
js_cocos2dx_Node_setVisible(JSContext *cx, uint32_t argc, jsval *vp) { jsval
*argv = JS_ARGV(cx, vp); JSBool
ok = JS_TRUE; JSObject
*obj = JS_THIS_OBJECT(cx, vp); js_proxy_t
*proxy = jsb_get_js_proxy(obj); cocos2d::Node*
cobj = (cocos2d::Node *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2(
cobj, cx, JS_FALSE, "js_cocos2dx_Node_setVisible
: Invalid Native Object" ); if (argc
== 1 )
{ JSBool
arg0; ok
&= JS_ValueToBoolean(cx, argv[ 0 ],
&arg0); JSB_PRECONDITION2(ok,
cx, JS_FALSE, "js_cocos2dx_Node_setVisible
: Error processing arguments" ); cobj->setVisible(arg0); JS_SET_RVAL(cx,
vp, JSVAL_VOID); return JS_TRUE; } JS_ReportError(cx, "js_cocos2dx_Node_setVisible
: wrong number of arguments: %d, was expecting %d" ,
argc, 1 ); return JS_FALSE; } |
1
2
3
4
5
6
|
jsval
*argv = JS_ARGV(cx, vp); JSBool
ok = JS_TRUE; JSObject
*obj = JS_THIS_OBJECT(cx, vp); js_proxy_t
*proxy = jsb_get_js_proxy(obj); cocos2d::Node*
cobj = (cocos2d::Node *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2(
cobj, cx, JS_FALSE, "js_cocos2dx_Node_setVisible
: Invalid Native Object" ); |
1
2
3
4
5
6
7
8
|
if (argc
== 1) { JSBool
arg0; ok
&= JS_ValueToBoolean(cx, argv[0], &arg0); JSB_PRECONDITION2(ok,
cx, JS_FALSE, "js_cocos2dx_Node_setVisible
: Error processing arguments" ); cobj->setVisible(arg0); JS_SET_RVAL(cx,
vp, JSVAL_VOID); return JS_TRUE; } |