1
2
3
4
5
6
7
8
9
10
11
12
|
// var closeItem "res/CloseNormal.png" , "res/CloseSelected.png" , function () cc.log( "close ); }, this ); closeItem.setAnchorPoint(cc.p(0.5, var menu menu.setPosition(cc.p(0, this .addChild(menu, closeItem.setPosition(cc.p(size.width |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
// // JSBool { if (argc jsval JSStringWrapper JSStringWrapper JSStringWrapper bool thirdArgIsString true ; jsval jsval int last if (argc thirdArgIsString if (thirdArgIsString) arg2.set(argv[2], last } } cocos2d::MenuItemImage* if (argc if (!thirdArgIsString) //cc.MenuItemImage.create( jsCallback if (argc jsThis } } else { //cc.MenuItemImage.create( if (argc jsCallback if (argc jsThis } } } } JSObject JS_SET_RVAL(cx, return JS_TRUE; } JS_ReportError(cx, "Invalid ); return JS_FALSE; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
if (argc if (!thirdArgIsString) //cc.MenuItemImage.create( jsCallback if (argc jsThis } } else { //cc.MenuItemImage.create( if (argc jsCallback if (argc jsThis } } } } |
1
|
JSObject |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
template < class T> JSObject* js_proxy_t if (p) addCallBackAndThis(p->obj, return p->obj; } else { js_type_class_t assert (classType); JSObject // js_proxy_t JS_AddNamedObjectRoot(cx, typeid (*nativeObj).name()); addCallBackAndThis(tmp, return tmp; } } |
1
2
3
4
5
6
7
8
9
|
static { if (callback ScriptingCore::getInstance()->setReservedSpot(0, } if (thisObj ScriptingCore::getInstance()->setReservedSpot(1, } } |
1
2
3
4
|
JSBool JS_SetReservedSlot(obj, return JS_TRUE; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
void MenuItem::activate() { if (_enabled) { if ( { _callback( this ); } if (kScriptTypeNone { BasicScriptData this ); ScriptEvent ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&scriptEvent); } } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
int { if (NULL return 0; JSAutoCompartment switch (evt->type) { case kNodeEvent: { return handleNodeEvent(evt->data); } break ; case kMenuClickedEvent: { return handleMenuClickedEvent(evt->data); } break ; case kTouchEvent: { return handleTouchEvent(evt->data); } break ; case kTouchesEvent: { return handleTouchesEvent(evt->data); } break ; case kKeypadEvent: { return handleKeypadEvent(evt->data); } break ; case kAccelerometerEvent: { return handleAccelerometerEvent(evt->data); } break ; default : break ; } return 0; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
int { if (NULL return 0; BasicScriptData* if (NULL return 0; MenuItem* js_proxy_t if (!p) return 0; jsval jsval js_proxy_t dataVal executeJSFunctionFromReservedSpot( this ->_cx, return 1; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
static void executeJSFunctionFromReservedSpot(JSContext jsval jsval if (func return ; jsval JSAutoCompartment if (thisObj JS_CallFunctionValue(cx, } else { assert (!JSVAL_IS_PRIMITIVE(thisObj)); JS_CallFunctionValue(cx, } } |