锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 2. 瀹夎cygwin銆?鍙兘闇瑕佹尯闀挎椂闂寸殑) 4. 涓嬭澆jdk鍖呫?浠庡畼緗戜笅杞斤紝璇ュ寘涔熸槸鍏嶈垂鐨?銆備笅杞藉畬鎴愬悗錛岀洿鎺ュ畨瑁呫?/p>
5. 涓嬭澆adt銆傚彲浠ヤ粠瀹樼綉涓嬭澆錛歛dt-bundle銆傚錛氭湰浜轟笅杞界殑錛歛dt-bundle-windows-x86-20131030.zip銆?br />璇ュ寘涔熸槸鍏嶈垂鐨勩傝鍖呬腑涓嬭澆涓嬫潵鍚庯紝鍖呭惈錛歟clips涓巃ndroid sdk涓や釜鍖呫?br />鎻愮ず錛氬鏋滀笅杞界殑涓嶆槸adt-bundle銆傚垯鍙兘闇瑕佸崟鐙笅杞絜clips涓巃ndroid sdk瀹夎鍖呫?br />涓嬭澆瀹屾垚鍚庯紝瑙e帇鍒版寚瀹氱洰褰曘傚畨瑁卆ndroid sdk銆傚嵆錛氳繍琛孲DK Manager.exe鍗沖彲銆?鎻愮ず錛氬畨瑁呴渶瑕佸緢闀挎椂闂淬傘? 6. 浠ヤ笂瀹屾垚鍚庯紝鍐嶄笅杞絚ocos2d-x鐩稿叧鐨剆dk鍖呫傛壘鍒癱reate-android-project.bat銆傛寜鐓э細http://www.ityran.com/archives/3223 涓婅鏄庣殑鏂規(guī)硶錛屼慨鏀瑰叾涓殑錛歴et _CYGBIN 銆乻et _ANDROIDTOOLS浠ュ強set _NDKROOT鐩稿叧璺緞銆傜劧鍚庡氨鍙互鏈夋bat鍒涘緩鑷繁鐨刢ocos2d-x java欏圭洰浜嗐?/p>
7. 鍦ㄥ鐞嗗畬涓婇潰鐨勭6鐐瑰悗銆傚彲浠ョ敤cygwin緙栬瘧欏圭洰銆傚叿浣撲負錛氭墦寮cygwin銆傜劧鍚庤漿鍒版柊鐢熸垚鐨勯」鐩笅錛屾墽琛? build_native.sh 8. 瀹屾垚7鍚庯紝鍐嶆墦寮eclips錛屽皢宸ョ▼娣誨姞榪涙潵銆?璁板緱涔熻娣誨姞cocos2d-x鐨勫伐紼嬨傚茍浼樺厛緙栬瘧瀹冦傚洜涓烘垜浠殑欏圭洰渚濊禆浜庡畠)銆傜紪鎴戜滑鐨勯」鐩紝鐒跺悗鍐嶅皢璁懼榪炰笂錛孯un As鍗沖彲銆傝嚦姝わ紝鍏ㄩ儴浠嬬粛緇撴潫銆?br /> ndk涓嬭澆鍚庯紝鐩存帴瑙e帇鍗沖彲銆?br />cygwin瀹夎錛堥渶瑕佸緢闀挎椂闂達級鍚庯紝闇瑕侀厤緗畁dk鐨勮礬寰?br />adt灝辨槸android sdk銆?br />eclipse 姝e父鏉ヨ錛屽氨宸茬粡闆嗘垚浜唈dk浜嗐?br />(ndk涓嬭澆鍦板潃錛氬畼緗? 涓よ呯殑鍖哄埆錛? 浜嬩歡鍒嗗彂鐨勯『搴忥細 榛樿鎯呭喌涓嬫墍鏈? 濡傞渶鏇存敼浜嬩歡錛? 鍒╃敤 褰撴垜浠緝鏀懼浘鐨勬椂鍊欙紝鎴戜滑鎬諱細閬囧埌鍥劇墖鍑虹幇澶辯湡鍜岄敮榻跨殑鏃跺欙紝cocos2d-x鏀寔涓浜涙柟娉?/span>鍙互瑙e喅榪欎簺闂 錛?錛夊姞鍏ユ姉閿嬌錛岃В鍐蟲斁澶ф椂鐨勯敮榻?/p> 宸﹁竟鎶楅敮榻匡紝鍙寵竟姝e父錛屾晥鏋滈槦姣旓紝宸﹁竟浣跨敤sprite->getTexture()->setAntiAliasTexParameters();灝卞彲浠ヨ揪鍒拌繖涓晥鏋滐紝鍙寵竟浣跨敤鐨勬槸sprite2->getTexture()->setAliasTexParameters(); (2) 浣跨敤minmap錛岀緝?yōu)畯鏃舵晥鏋滀細鏇村ソ锛屽乏杈逛娇鐢?/span>minmap
濡備笅鐨勬柟娉曞湪瀹氫箟璐村浘鏃剁敓鎴?span style="font-family: Times New Roman">minmap鍗沖彲
鐒跺悗鐢ㄨ創(chuàng)鍥懼幓澹版槑綺劇伒鍗沖彲 闅忕潃紜歡鎶鏈殑鎻愰珮錛屾彁渚涗簡鏇村ソ鐨勭敾闈紝鎴戜滑鍙互閫氳繃濡備笅鐨勬柟娉曟潵鍒囨崲楂樻竻 CCDirector::sharedDirector()->enableRetinaDisplay(true); 鍙傛暟鏄?span style="font-family: Times New Roman">true錛屽氨鏄紑鍚珮娓咃紝涓?/span>false灝辨槸鍏抽棴楂樻竻錛屽綋鐒剁洰鍓嶅簲璇ユ槸iphone4鍜?/span>itouch4鍙婁互涓婃敮鎸佽繖縐?#8220;瑙嗙綉鑶?#8221;鏄劇ず銆傚綋浣犲紑鍚繖涓椂錛屼綘鐨勬父鎴忓浘鐗囦細鑷姩鍙樹負“鍘熷浘鐗囧悕錛堥櫎鍚庣紑鍚?/span>+"-hd."+鍚庣紑鍚嶏級錛屽鏋滄枃浠朵笉瀛樺湪浼氱戶緇嬌鐢ㄥ師鍥俱?/span> ccColor3B color; if (NULL == m_pMenu)
4) 灝?so鏂囦歡浼犲叆璁懼涓娿傚懡浠わ細adb push xxxx\xxxx\xxx.so /sdcard/libgame.so
5) 灝哾ump_syms鏂囦歡緗負鍙鍐欍傚懡浠わ細chmod 0777 /data/local/tmp/dump_syms
6) 鐢╠ump_syms瑙f瀽.so鏂囦歡銆傚懡浠わ細
adb shell
cd /data/local/tmp
./dump_syms /sdcard/libgame.so > /sdcard/libgame.so.sym
exit
7) 灝嗚В鏋愬嚭鏉ョ殑絎﹀彿鏂囦歡鎻愬彇鍑烘潵銆傚懡浠わ細adb pull /sdcard/libgame.so.sym xxxx\xxxx
8) 鐢╱e絳夊伐鍏鳳紝灝嗘彁鍙栧嚭鏉ョ殑絎﹀彿鏂囦歡鎵撳紑錛岄噷闈㈡湁鎸囩汗璇嗗埆淇℃伅銆備互姝ゆ寚綰逛俊鎭緩绔嬬洰褰曘傜劧鍚庡皢璇ョ鍙鋒枃浠舵斁鍦ㄨ鐩綍涓嬨傛渶鍚庡啀灝嗚鐩綍鏀懼埌l(fā)ibgame.so鐩綍涓?br />9) 鐢ㄨВ鏋愬嚭鏉ョ殑絎﹀彿鏂囦歡錛屽皢鐩稿叧鐨刣ump鏂囦歡瑙f瀽鍑烘潵銆傚懡浠わ細minidump_stackwalk.exe 6b4f6cbf-c474-eb78-68ee3e30-3f77c3ba.dmp D:\symbols > D:\dump\6b4f6cbf-c474-eb78-68ee3e30-3f77c3ba.dmp.txt
]]>
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&p=c2769a4786cc42a858b1d22454078b&newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&user=baidu&fm=sc&query=Android+NDK+%B1%E0%D2%EB+zlib&qid=&p1=7
http://www.ityran.com/archives/3223
1. cygwin鐜鎼緩
http://woniu1983.iteye.com/blog/1895724
http://www.33lc.com/article/7276_4.html
2. android sdk 鐜鎼緩
http://hi.baidu.com/j_key/item/bdfe28f6b1758ad56325d259
3. jdk鐜鎼緩.璇存槑璇ョ偣瀹夎寰堢畝鍗曘傚洜姝わ紝娌℃湁鎻愪緵鐩稿叧鍙傝冮摼鎺ャ?br />
4. android avd 鐜鎼緩.(鎻愮ず錛氳鐐逛負闈炴湰鏂囩浉鍏沖姛鑳戒粙緇嶏紝鍙互涓嶄笌鐞嗕細銆?
http://shitou521.iteye.com/blog/1074593
cocos2d-x android 鐜鎼緩姝ラ錛?br />1. 涓嬭澆ndk涓巆ygwin瀹夎鍖呫?閮藉垎鍒粠瀹樼綉鍙互涓嬪緱鏈鏂板厤璐圭増鏈?
緙栧畬鎴愬悗浼氱敓鎴愮浉搴旂殑.so銆傚叾瀹炲氨鏄浉褰撲簬win涓嬬殑lib鎴栫О涓篸ll鍚с?/p>
-------------------------------------------------------------------------------
(cygwin涓嬭澆鍦板潃錛氬畼緗?
(adt涓嬭澆鍦板潃錛氬畼緗?
(eclipse鏍囧噯鐗堜笅杞藉湴鍧錛?a >http://www.newasp.net/soft/69126.html)
(jdk涓嬭澆鍦板潃錛?a >http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)
]]>
宸存媺宸存媺鐨勪粙緇嶅氨涓嶈浜嗭紝鐩存帴璁板綍姝ラ鍚с?span class="Apple-converted-space">
1. Android NDK涓嬭澆
涓嬭澆Windows緋葷粺涓嬬殑鐗堟湰錛岃嚦浜?2浣嶈繕鏄?4浣嶇敱浣犳満鍣ㄨ屽畾錛屾垜鐨勬槸Win7 32浣嶏紝涓嬭澆鐨勬槸錛歛ndroid-ndk-r8e-windows-x86.zip
鐢墊鐩磋揪錛?a style="color: rgb(16,138,198); text-decoration: underline" target="_blank">http://developer.android.com/tools/sdk/ndk/index.html#Installing
2. Cygwin涓嬭澆
涓嬭澆Setup.exe
鐢墊鐩磋揪錛?a style="color: rgb(16,138,198); text-decoration: underline" target="_blank">http://cygwin.com/install.html
3. 瀹夎 Android NDK
瑙e帇緙╁埌鏌愪釜鐩綍鍗沖彲錛屼緥濡傛垜鐨勶細 E:\DevelopEnviroment\Android\
瑙e帇緙╁悗鐨勬枃浠跺す鍚嶅瓧濡備笅錛歛ndroid-ndk-r8e
4. 瀹夎Cygwin
榪愯Setup.exe,濡備笅鍥劇墖鏄漿杞借嚜鍒漢鐨勶紙璇瘋鍙傝僉ink錛?span class="Apple-converted-space">
5. 榪愯涓婥ygwin
絎竴嬈¤繍琛屽悗錛屼細涓轟綘鍒涘緩褰撳墠鐨勭敤鎴峰寘鎷竴浜涚幆澧冩枃浠?綾諱技浜嶭inux涓嬬殑bash鏂囦歡絳夌瓑)錛屼笅涓姝ユ垜浠細淇敼鍏朵腑鐨勬枃浠?span class="Apple-converted-space">
6. 閰嶇疆NDK鐜鍙橀噺
.cygwin鐨勫畨瑁呯洰褰曪紝鎵懼埌涓涓猦ome\<浣犵殑鐢ㄦ埛鍚?gt;\.bash_profile鏂囦歡鏈熬娣誨姞濡備笅錛?span class="Apple-converted-space">
鍏朵腑“e/DevelopEnviroment/Android/android-ndk-r8e
”鏄〃紺篈ndroid NDK鏄畨瑁呭湪E:/DevelopEnviroment/Android/android-ndk-r8e
7. 嫻嬭瘯NDK鐜
杈撳叆 cd $ANDK, 榪涘叆/cygdrive/e/DevelopEnviroment/Android/android-ndk-r8e
榪涘叆/samples/hello-jni欏圭洰涓嬶紝榪愯$ANDK/ndk-build
杈撳嚭鏁堟灉濡備笅錛?span class="Apple-converted-space">
浠ヤ笂鍗寵〃鏄庡畨瑁呭畬姣曘?span class="Apple-converted-space">
鍙傝僉ink錛?span class="Apple-converted-space"> http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&p=c2769a4786cc42a858b1d22454078b&newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&user=baidu&fm=sc&query=Android+NDK+%B1%E0%D2%EB+zlib&qid=&p1=7
http://wenku.baidu.com/view/63039e8071fe910ef12df86b.html
]]>
涓銆佷袱縐嶆満鍒剁殑鍥涚涓嶅悓鐨勪簨浠?/h3>
CCStandardTouchDelegate 榛樿浜嬩歡
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
澶勭悊鎸変笅浜嬩歡
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
澶勭悊鎸変笅騫剁Щ鍔ㄤ簨浠?/td>
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
澶勭悊鏉懼紑浜嬩歡
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);
澶勭悊鎵撴柇浜嬩歡
CCTargetedTouchDelegate
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
澶勭悊鐢ㄦ埛鎸変笅浜嬩歡錛宼rue琛ㄧず緇х畫澶勭悊, 鍚﹀垯false.
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
澶勭悊鎸変笅騫剁Щ鍔ㄤ簨浠?/td>
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
澶勭悊鏉懼紑浜嬩歡
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
澶勭悊鎵撴柇浜嬩歡 CCSet
涓?CCTouch
錛屼竴涓簨浠墮泦鍚堜竴涓崟涓簨浠躲?/p>
CCTargetedTouchDelegate
→ CCStandardTouchDelegate
銆?/p>
CCLayer
閮芥病鏈夊惎鐢ㄨЕ鎽鎬簨浠訛紝闇瑕?this->setIsTouchEnabled(true);
鍚敤銆?/p>
void registerWithTouchDispatcher(void) {}
class MyLayer: public cocos2d:CCLayer {
public:
virtual void registerWithTouchDispatcher(void);
// addStandardDelegate()
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);
// addTargetedDelegate()
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
}
void MyLayer::registerWithTouchDispatcher(void) {
// 濮旀墭錛屼紭鍏堢駭
CCTouchDispatcher::sharedDispatcher()->addStandardDelegate(this, kCCMenuTouchPriority);
// 濮旀墭錛屼紭鍏堢駭錛屾槸鍚︾戶緇鐞?/span>
CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, kCCMenuTouchPriority, true);
// 2.0鐗堟湰浠ュ悗
CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, kCCMenuHandlerPriority);
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority, true);
}
浜屻?濡傛灉瀹炵幇鍥炶皟鍑芥暟錛?/h3>
ccTouchBegan
鎴?ccTouchesBegan
鍔犱互瀹炵幇鐐瑰嚮鐨勫洖璋?/p>void MyLayer::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent) {
// 鍗曠偣
CCTouch *pTouch = (CCTouch*)(pTouches->anyObject());
// 鎵鏈夌偣
for(CCSetIterator iterTouch = pTouches->begin(); iterTouch != pTouches->end(); iterTouch++) {
CCTouch *pCurTouch = (CCTouch*)(*iterTouch);
}
// 鑾峰彇鐐瑰湪瑙嗗浘涓殑鍧愭爣錛堝乏涓婅涓哄師鐐癸級
CCPoint touchLocation = pTouch->getLocationInView();
// 鎶婄偣鐨勫潗鏍囪漿鎹㈡垚OpenGL鍧愭爣錛堝乏涓嬭涓哄師鐐癸級
touchLocation = CCDirector::sharedDirector()->convertToGL(touchLocation);
// 鎶奜penGL鐨勫潗鏍囪漿鎹㈡垚CCLayer鐨勫潗鏍?/span>
CCPoint local = convertToNodeSpace(touchLocation)
// 澶у皬涓?00x100錛屽潗鏍囦負(0, 0)鐨勭煩褰?/span>
CCRect * rect = CCRectMake(0, 0, 100, 100);
// 鍒ゆ柇璇ュ潗鏍囨槸鍚﹀湪rect鐭╁艦鍐?/span>
bool flag = rect.containsPoint(local)
if(flag) {
// 鍥炶皟
} else {
// 涓嶆墽琛?/span>
}
}
]]>
鎶楅敮榻?br />
]]>
鍒囨崲楂樻竻
]]>
2) 澶氱偣瑙︽懜
涓嬮潰鍒嗗埆鎬葷粨涓涓嬶細
1) 鍗曠偣瑙︽懜
瑕佷嬌鐢ㄥ崟鐐硅Е鎽革紝蹇呴』瑕侀噸鍐欎互涓嬪嚑涓帴鍙o細
virtual void onEnter();//蹇呴』
virtual void onExit();//蹇呴』
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);//蹇呴』
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);//鍙夛紝浣嗕竴鑸儏鍐典笅瑕?br /> virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);//鍙夛紝浣嗕竴鑸儏鍐典笅瑕?br /> virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//鍙?br />a) onEnter();鎺ュ彛銆傚湪姝ゆ帴鍙d腑錛岄渶瑕佽皟鐢ㄧ埗綾葷殑璇ユ帴鍙o紝騫朵笖鏈閲嶈鐨勶紝瑕佷負褰撳墠瀵硅薄娉ㄥ唽涓涓Е鎽稿鎵?鍗籌細浠g悊)銆傚弬鑰冨涓嬩唬鐮侊細
CCLayer::onEnter();
CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, 0, true);
b) onExit();鎺ュ彛銆傚湪姝ゆ帴鍙d腑錛岄渶瑕佸皢鍦╫nEnter()涓敞鍐岀殑褰撳墠瀵硅薄鐨勮Е鎽稿鎵樼粰縐婚櫎鎺夈傜劧鍚庤皟鐢ㄧ埗綾葷殑onExit();銆傚弬鑰冧唬鐮佸涓嬶細
CCTouchDispatcher::sharedDispatcher()->removeDelegate(this);
CCLayer::onExit();
c) ccTouchBegan();璇ユ帴鍙o紝緇嗗績鐨勪漢鍙兘浼氬彂鐜幫紝灝卞畠鏄繑鍥瀊ool鐨勩傚畠鐨勮繑鍥炲煎喅瀹氱潃錛屽悗緇殑ccTouchMoved();ccTouchEnded();ccTouchCancelled();鏄惁瑙﹀彂銆傚彧鏈夎繑鍥瀟rue鏃舵墠瑙﹀彂銆?br />鍏充簬ccTouchBegan();ccTouchMoved();ccTouchEnded();ccTouchCancelled();鐨勪綔鐢紝鍦ㄦ鎴戝氨涓嶅璇翠簡銆傜湅鍚嶅瓧鎴戞兂灝卞簲璇ヨ兘娓呮銆?br />
2) 澶氱偣瑙︽懜
瑕佷嬌鐢ㄥ鐐硅Е鎽搞傚垯鍙渶瑕佸疄鐜伴噸鍐欏涓嬪嚑涓帴鍙o紝鍗沖彲錛?br /> virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
瀹冧滑鐨勪綔鐢ㄦ垜涔熶笉澶氳銆備笅闈㈢畝瑕佷粙緇嶄笅CCSet*瀵硅薄銆傚畠瀛樺偍鐫鎵鏈夌殑瑙︽懜淇℃伅銆傚嵆錛氶亶鍘嗗畠錛屽彲浠ュ鐞嗘墍鏈夌殑瑙︽懜鐐瑰搷搴斻傚叾浠栫殑鐢ㄦ硶鍚屽崟鐐硅Е鎽鎬竴鏍楓?br />娉ㄦ剰錛氱敤澶氱偣瑙︽懜鏃訛紝涓嶉渶瑕佹敞鍐屼笂闈㈢ 1) 鐐逛腑鐨刟)涓巄)灝忕偣鐨勪俊鎭?濡傛灉鎴戞病璁伴敊鐨勮瘽錛屽鐞嗕簡錛屽彲鑳戒細璁╃▼搴忚功鎺夈?
]]>
CCSprite::getPosition();
浠ヤ笂榪欎簺閮芥槸浠?鐐?涓哄崟浣嶇殑錛堜笉鏄儚绱狅級銆?br />鐚滄祴錛氭墍鏈夊湪cocos2d涓湁鍏硏涓巠鏈夊叧鐨勶紝搴旇閮芥槸浠ョ偣涓哄崟浣嶃?/span>
]]>
]]>
color.r = 0;
color.g = 0;
color.b = 255;
m_pPlayMenuItem = CCMenuItemFont::itemFromString("Play", this, menu_selector(CWelcomeScene::OnPlayGameMenuItemClicked));
((CCMenuItemFont*)m_pPlayMenuItem)->setFontSizeObj(12);
((CCMenuItemFont*)m_pPlayMenuItem)->setColor(color);
color.r = 255;
color.g = 0;
color.b = 0;
m_pExitMenuItem = CCMenuItemFont::itemFromString("Exit", this, menu_selector(CWelcomeScene::OnExitMenuItemClicked));
((CCMenuItemFont*)m_pExitMenuItem)->setFontSizeObj(12);
((CCMenuItemFont*)m_pExitMenuItem)->setColor(color);
{
m_pMenu = CCMenu::menuWithItems(m_pPlayMenuItem, m_pExitMenuItem, NULL);
this->addChild(m_pMenu, 1);
m_pMenu->alignItemsVerticallyWithPadding(0.0f);
}
m_pPlayMenuItem = CCMenuItemImage::itemFromNormalImage(g_pcszStartNormalMI, g_pcszStartSelectedMI, this, menu_selector(CWelcomeScene::OnPlayGameMenuItemClicked));
m_pExitMenuItem = CCMenuItemImage::itemFromNormalImage(g_pcszCloseNormalMI, g_pcszCloseSelectedMI, this, menu_selector(CWelcomeScene::OnExitMenuItemClicked));
m_pPlayMenuItem->setScale(0.4f);
m_pMenu = CCMenu::menuWithItems(m_pPlayMenuItem, m_pExitMenuItem, NULL);
this->addChild(m_pMenu, 1);
float fX = GetCurrentWinSize(true).width / 2.0f - 10.0f;
float fY = -(GetCurrentWinSize(false).height / 2.0f) + 5.0f;
m_pExitMenuItem->setAnchorPoint(ccp(1.0, 0.0f));
m_pExitMenuItem->setPosition(ccp(fX, fY));
fX -= m_pExitMenuItem->getContentSize().width + 2.0f;
fY -= 2.0f;
m_pPlayMenuItem->setAnchorPoint(ccp(1.0f, 0.0f));
m_pPlayMenuItem->setPosition(ccp(fX, fY));