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;
}
|