⑴ 用eclipse能不能只生成apk文件而不启动虚拟机
用eclipse是可以只生成apk文件而不启动虚拟机的。
解决方案:
//developer:“Ant自动编译打包”.com/tools/building/building-cmdline.com/tools/building/building-cmdline,通过命令行即可完成apk的生成.android。
或者看官网教程android可以用ant进行自动打包。
相关延伸:
用eclipse 将已有的android应用程序安装到android虚拟机中的方法:
1、安装usb驱动
手机要能与电脑相连,当然要安驱动了。效果就是你插入手机,电脑显示驱动已识别。驱动安装的官方教程:http://developer.android.com/sdk/win-usb.html
2、设置android手机为USB调试模式
步骤: menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】
3、通过eclipse上真机测试
没用真机时,用eclipse开发android程序都是点run,然后跑模拟器的。安装好手机的usb驱动后,还是点run,程序就会神奇的在真机上运行了,效果与在模拟器中的一样,非常简单,而且速度比用模拟器块很多。
如果没有效果还是在模拟器上运行,则在eclipse中:
右键->run as->run configurations->target
把那个虚拟机选项勾掉,再运行,如果之前的驱动安装正确的话,eclipse会让你选择用那个设备运行(有真机与你的虚拟机可选),此时选那个真机的就可以了
4、发布
android工程文件夹下的bin文件夹在编译成功后会生成xxxxx.apk,就是可执行的android程序,你可以用任何手机同步工具像安装其他android程序一样安装你自己的项目。之后在android的应用程序目录下找到你的项目图标,就可以运行。
⑵ 濡备綍鍒朵綔html5镓嬫満缃戦〉璁捐℃坠链虹绣椤佃捐″埗浣沧暀绋
濡备綍鍒朵綔H5椤甸溃锛燂纻
鍙浠ラ夋嫨涓扑笟镄删5鍒朵綔宸ュ叿𨱒ュ埗浣渉5椤甸溃銆涓嶅悓浜庣亩鍗旷殑镟挎崲锲剧墖鍜屾枃瀛楋纴涓扑笟镄删5椤甸溃鍒朵綔宸ュ叿链変赴瀵岀殑浜や簰锷熻兘鍙渚涗娇鐢锛屽埗浣滃嚭𨱒ョ殑h5椤甸溃镟村姞閰风偒涓板瘜锛岀粰鐢ㄦ埛鐣欎笅娣卞埢鍗拌薄銆傜煡钖嶅伐鍏锋湁epub360绛夈
鎴戜滑阃氩父镓璇寸殑H5灏辨槸H5骞垮憡锛屽氱敤浜庡井淇′笂镄勫d紶钀ラ攒锛岃孒TML5鏄疕TML绗浜斾唬镄勬爣鍑嗐傚彲浠ヨ碒5鏄锘轰簬HTML5镄勶纴鍖呮嫭浜嗘垜浠鐩鍓岖湅鍒扮殑澶ч儴鍒嗙绣椤点傚熀链涓婏纴镓链夌殑H5閮介伒寰狧TML5锛屽惁鍒椤氨浼氭湁闂棰樸
瀹冩槸锘轰簬浜掕仈缃戠殑web缂栫▼璇瑷锛岀Щ锷ㄥ箍锻婂彧鏄鍏朵腑涓涓镣广2007骞达纴W3C(涓囩淮缃戣仈鐩)寤虹珛浜呗tml5銆傜洿鍒2014骞10链埚簳锛孒TML5镄勮勬牸鍦ㄧ粡铡嗕简钖勭嶅疄楠屻佹姏寮冦佸惧掋佽钖勮矾澶т浆韪㈡潵韪㈠幓涔嫔悗缁堜簬瀹氩瀷浜嗭紒
浣跨敤html5寮鍙戠Щ锷ㄧ搴旂敤閲囩敤浠涔堟嗘灦锛
闅忕潃浣跨敤鏅鸿兘镓嬫満镄勪汉瓒婃潵瓒婂氾纴镓嬫満缃戠珯寮鍙戦”鐩涔熸垚涓轰竴绉嶆疆娴併傚彲鏄鎭ㄧ煡阆撴満缃戠珯寮鍙戞嗘灦链夊嚑绉嶅悧?
1.LungoJS杩欎釜鏄琚璁や负寮鍙戠Щ锷ㄧ绣绔欐渶濂界殑HTML5寮鍙戞嗘灦锛屼娇鐢℉TML5/CSS3鍜孞avaScript鎶链銆傚彲甯锷╁垱寤哄熀浜巌OS銆丄ndroid銆丅lackberry鍜学ebOS骞冲彴镄勫簲鐢ㄧ▼搴忋傝ユ嗘灦鍙鍒╃敤褰揿墠绉诲姩璁惧囩殑楂樼骇鐗规э纴鍙鎹曟崏浜嬩欢鍖呮嫭婊戝姩銆佽Е灞忋侀暱鎸夌瓑銆傛棤闇浣跨敤锲剧墖锛屽叏閮ㄩ噰鐢ㄥ悜閲忓0绉般侺ungo.JS镞犻渶链嶅姟鍣ㄧ鏀鎸侊纴鍙甯锷╁疄鐜癏TML5鐗规э纴鍖呮嫭WebSQL銆丢eolocation銆丠istory銆丏eviceorientation绛夌瓑銆傝繖鏄涓涓瀹屽叏鍙瀹氩埗镄勬嗘灦锛屽彲鐢ㄦ潵鍒涘缓搴旂敤銆佹父鎴忕瓑绋嫔簭銆
2.KendoUIKendoUI鏄涓涓狧TML5骞冲彴锛屽紑鍙戣呭埄鐢ㄥ畠鍙浠ュ紑鍙戞柊棰栫殑銆佷氦浜掔殑绉诲姩搴旂敤绋嫔簭鍜岀绣绔欍傝ユ嗘灦鎻愪緵浜嗗ぇ閲忕殑锷ㄧ敾鍜屼赴瀵岀殑𨰾栨婳锷熻兘銆佹ā𨱒垮姛鑳戒互鍙婃彁渚涗简灏呜繎10娆惧㈡埛绔甯哥敤镄勬暟鎹缁戝畾灏忛儴浠讹纴濡傚浘琛ㄣ佺粍钖堟嗕互鍙婂父鐢ㄨ〃镙笺
3.Jo璇ユ嗘灦鍙浠ュ垱寤哄儚链鍦颁竴镙风殑搴旂敤锛屽苟涓斿吋瀹逛换浣曟搷浣灭郴缁燂纴镞犺烘槸Blackberry銆乮OS杩樻槸Android銆傚苟涓旀彁渚涜稿欻TML5灏忛儴浠躲备娇鐢ㄥ畠鍙浠ヨВ鍐充换浣曞姩鐢昏捐℃柟闱㈢殑闂棰樸
4.SenchaTouchSenchaTouch鏄绗涓涓锘轰簬HTML5镄勭Щ锷ㄥ簲鐢ㄦ嗘灦锛屽埄鐢↗avaScript銆丠TML5鍜孋SS3𨱒ユ瀯寤虹Щ锷ㄥ簲鐢ㄧ▼搴忥纴璇ユ嗘灦鍒╃敤链鍦颁唬鐞嗗瓨鍌ㄧ荤嚎鏁版嵁锛屽叿浣扑娇鐢℉TML5𨱒ユ覆镆撹嗛戝拰阔抽戠粍浠躲傚彲浠ヨ╀綘镄刉ebApp鐪嬭捣𨱒ュ氨镀忔湰鍦板簲鐢ㄧ▼搴忎竴镙枫傜编涓界殑鐢ㄦ埛鐣岄溃缁勪欢鍜屼赴瀵岀殑鏁版嵁绠$悊锛屽叏閮ㄥ熀浜庢渶鏂扮殑HTML5鍜孋SS3镄刉eb镙囧嗳锛屽叏闱㈠吋瀹笰ndroid鍜孉ppleiOS璁惧囥5.52Framework52Framework𨰾ユ湁16鍒楃殑缃戞牸妯℃澘銆傝ユ嗘灦𨱒ヨ嚜浜嶤SS3镙峰纺閲岀殑鏂扳沦election钬濄侀槾褰便佸浑瑙掍互鍙婃湁鏁堢殑HTML5镙囱般傝ユ嗘灦杩樻彁渚涗简涓浜涚壒娈婄殑鑴氭湰鍜屾牱寮忕敤浜嶪E6銆6.LimeJSLimeJS鏄涓涓狫avaScript娓告垙寮鍙戞嗘灦锛岀敤浜庡揩阃熸瀯寤鸿繍琛屼簬瑙﹀睆璁惧囧拰妗岄溃娴忚埚櫒镄勬父鎴忋傚厑璁稿紑鍙戣呭垱寤哄熀浜嶩TML5镄勬父鎴忥纴鏀鎸佷富娴佹祻瑙埚櫒鍖呮嫭iOS銆7.G5Framework濡傛灉浣犳兂瑕佸揩阃熷疄鐜痒eb寮鍙戯纴骞朵笖𨱍宠侀吨鐢╝nt涓婚樻垨搴旂敤绋嫔簭鎴栫绣绔欓”鐩锛岄偅涔圙5妗嗘灦鏄鎭ㄦ渶濂界殑阃夋嫨锛屽洜涓鸿ユ嗘灦镞ㄥ湪鎻愬崌寮鍙戞晥鐜囥佸噺灏戜唬镰併傝ユ嗘灦閲囩敤鐗硅壊镄凯HP婵娲荤被銆丼EO浼桦寲鎶链銆傞櫎浜咷5镊韬镓甯︾殑杩欎簺锷熻兘鐗规у栵纴瀹冭缮闆嗘垚鍏朵粬璁稿氩姛鑳斤纴渚嫔侽rbitSlider銆丆SS3PIE銆丷evealModals銆丆SS3Buttons鍜孴ipsyTooltips绛夈8.jQueryMobilejQueryMobile(jQueryMobile)鏄痡Query鍦ㄦ坠链轰笂鍜屽钩𨱒胯惧囦笂镄勭増链銆俲QueryMobile涓崭粎浼氱粰涓绘祦绉诲姩骞冲彴甯︽潵jQuery镙稿绩搴掳纴钥屼笖浼氩彂甯冧竴涓瀹屾暣缁熶竴镄刯Query绉诲姩UI妗嗘灦銆傛敮鎸佸叏鐞冧富娴佺殑绉诲姩骞冲彴銆俲QueryMobile寮鍙戝洟阒熻达细鑳藉紑鍙戣繖涓椤圭洰锛屾垜浠闱炲父鍏村嬨傜Щ锷╓eb澶闇瑕佷竴涓璺ㄦ祻瑙埚櫒镄勬嗘灦锛岃╁紑鍙戜汉锻桦紑鍙戝嚭鐪熸g殑绉诲姩Web缃戠珯銆傛垜浠灏嗗敖鍏ㄥ姏铡绘弧瓒宠繖镙风殑闇姹伞9.PhoneGapPhoneGap鏄涓涓寮婧愮殑寮鍙戞嗘灦锛屼娇鐢℉TML锛孋SS鍜孞avaScript𨱒ユ瀯寤鸿法骞冲彴镄勭殑绉诲姩搴旂敤绋嫔簭銆傚畠浣垮紑鍙戣呰兘澶熷埄鐢╥Phone锛孉ndroid锛孭alm锛孲ymbian锛孊lackberry锛学indowsPhone鍜孊eda鏅鸿兘镓嬫満镄勬牳蹇冨姛鑳解斺斿寘𨰾鍦扮悊瀹氢綅锛屽姞阃熷櫒锛岃仈绯讳汉锛屽0阔冲拰鎸锷ㄧ瓑銆
h5缃戦〉鍒朵綔杞浠讹纻
maka缂栬緫鍣ㄦ坠链虹増鏄涓娆惧己澶х殑妯℃澘璁捐¤蒋浠讹纴璁╀綘鍙浠ラ氲繃杩欐惧簲鐢ㄥ揩阃熸墦阃犲嚭镊宸卞枩娆HTML5椤圭洰锛屾柟渚夸綘闅忔椂闅忓湴鍒涗綔绠$悊锛屼竴阌鐢熸垚锛屽茬编涓扑笟璁捐″笀锛岃╀綘镄勮惀阌镟存湁涓镐э纴MAKA锛屽仛鍑哄ソ璁捐°傛槸鍏奸【H5銆佹捣鎶ャ佽嗛戙佸嚱銆佸崟椤点佸井鍟嗗拰鐢靛晢绱犳潗绛夊埗浣滀笌璁捐″伐鍏禀PP锛屾嫢链10W+璁捐″笀璧勬簮锛屾捣閲忓垱镒忔ā𨱒挎棤闄愮晠鐢锛10绉挜挓涓婃坠锛1鍒嗛挓鍒涗綔锛屾瀬绠鐢熸垚楂樼骇璁捐℃晥鏋滐紒銆
html5琛ㄧ幇褰㈠纺镐庝箞寮鍙戯纻
html5镐荤殑𨱒ヨ存槸鏂囨湰锛屾墍链変换浣曟枃链缂栬緫鍣ㄩ兘鍙浠ャ备絾鏄锛屾湁寰埚氱紪杈戝櫒澶氢简濂藉氲緟锷╁姛鑳斤纴姣斿傝皟璇曞拰璇娉曢珮浜镊锷ㄨˉ瀹屻
鍐欑函闱欐佺殑缃戦〉锛宧tml5鍜宧tml4涔熸病鍖哄埆锛岃佹墍瑙佸嵆镓寰楃殑灏辩敤dreamweaver锛岀敋镊崇洿鎺photoshop鍒囩墖杈揿嚭html閮藉彲浠ワ纴锽沧㈠啓婧愮爜镄勶纴鐢ㄤ换浣曢‘镓嬬殑鏂囨湰缂栬緫鍣ㄥ氨鍙浠ヤ简锛屼笉浼历im镄勫氨鎺ㄨ崘notepad++鎴栬却ublimetext2銆
鍐椤甫javascript镄勭绣椤碉纴涔熷彲浠ョ敤鏂囨湰缂栬緫鍣ㄩ厤钖堟祻瑙埚櫒镄刯avaconsole𨱒ヨ皟璇曪纴浣嗘槸涔熸湁涓嶉敊镄刬de鍙浠ョ敤锛岃嚜甯﹁皟璇曪纴姣斿倃ebstorm鍜宎ptanastudio銆
⑶ cocos2d鍏ラ棬鏁欑▼
Cocos2d-x鍒濆﹁呮暀绋
鍑嗗Cocos2d-x鏄涓娆惧揩阃熴佸己澶с佹槗鐢ㄧ殑寮婧2D娓告垙寮曟搸銆傚畠涓庤娴鏋灭殑Sprit Kit鐣ュ儚锛屼絾鍙堟湁涓澶т紭锷库斺旇法骞冲彴銆傝繖镒忓懗镌锛屽紑鍙戣呭彧闇瑕佸啓涓涓鐗堟湰镄勪唬镰佸氨鍙浠ュ紑鍙戝嚭鑳藉湪iOS銆丄ndroid銆乄indows Phone銆丮ac OS X銆乄indows Desktop鍜孡inux涓婅繍琛岀殑娓告垙𨱒ャ傝繖瀵逛簬娓告垙寮鍙戣呮潵璇存剰涔夐吨澶с傚湪姝ゆ暀绋嬩腑锛屼綘灏嗗︿细鐢–ocos2d-x鍜孋++寮鍙戜竴涓绠鍗旷殑2D娓告垙銆傛槸镄勨斺斿繊钥呮潵琚锛佹敞镒忥细链鏁欑▼锅囱句綘𨰾ユ湁C++寮鍙戠殑锘虹鍏堜慨鐭ヨ瘑銆傚傛灉浣犳病链夋帴瑙﹁繃C++锛岃峰︿範钖庡啀𨱒ラ槄璇汇
涓嬭浇Cocos2d-x镄勬渶鏂扮増链锛www.cocos2d-x.org/download锛夛绂链鏁欑▼浣跨敤3.5鐗堟湰銆傛妸鏂囦欢涓嬭浇涓嬫潵锛屾斁鍒颁綘𨱍虫妸Cocos2d-x瀹夎呭埌镄勫湴鏂癸纴渚嫔备綘镄勪富鐩褰曪纴铹跺悗瑙e帇銆傛墦寮Terminal鍜孋D锛岃繘鍏ヤ綘鍒氩垰瑙e帇镄勬枃浠跺す銆备緥濡傦纴濡傛灉浣犳妸椤圭洰鏀惧埌浜嗕綘镄勪富鐩褰曢噷锛岄偅灏辫繍琛屽备笅锻戒护锛歝d ~/cocos2d-x-3.5/鐜板湪锛岃繍琛屾帴涓嬫潵杩欎釜锻戒护锛歱ython setup.py杩欓噷閰岖疆浜嗗繀瑕佺殑shell鐜澧冨彉閲忋傝嫢绯荤粺鍑虹幇鎻愮ず锛岃佹眰閰岖疆镀 NDK_ROOT, ANDROID_SDK_ROOT鍜孉NT_ROOT杩欎簺Android鐗规湁镄勫彉閲忥纴浣犲彧闇鎸変笁娆″洖杞﹀畬鎴愯剧疆灏卞ソ浜嗐傛敞镒忥细Cocos2d闇瑕佷綘鍦ㄧ数鑴戜笂瀹夎匬ython 2.7浠ヤ笂镄勭増链銆傚傛灉浣犱笉娓呮氱洰鍓岖数鑴戠殑python鐗堟湰锛屽彲浠ュ湪锻戒护琛屼腑杈揿叆python锛屽垯鐗堟湰淇℃伅灏变细琚鏄剧ず鍑烘潵锛堢劧钖庢寜Ctrl-D鍏抽棴锛夈傚傛灉浣犲畨瑁呬简涓涓钥佺増链镄凯ython锛岃峰湪python.com涓嬭浇瀹夎呮渶鏂扮増链銆傚备笅锲炬墍绀猴纴鑴氭湰鏂囦欢鎻愮ず镓ц屽彟涓𨱒″懡浠ゆ潵瀹屾垚瀹夎咃细
娉ㄦ剰锛氢娇鐢ㄤ笉钖岀殑shell鍙鑳戒细瀵艰嚧浣犵湅鍒颁笉钖岀殑杈揿嚭缁撴灉銆傚湪涓婇溃镄勫睆骞曟埅锲句腑锛岀敱浜庢垜浣跨敤浜咮ash锛屽畨瑁呮枃浠舵彁绀衡渟ource /Users/rwenderlich/bash_profile.钬濄备絾濡傛灉鎴戠敤镄勬槸Zsh锛岄偅瀹冨氨浼氭彁绀鸿╂垜杩愯屸渟ource /Users/rwenderlich/.zshrc钬濄傛寜镦ц存槑杈揿叆锻戒护銆傝繖閲屾湁涓涓鑺傜渷镞堕棿镄勬妧宸э细浣犲彲浠ュ湪/Users/your_user_name杩欓噷浣跨敤娉㈡氮绾匡纸~锛夛纴浠ユゆ潵鍑忓皯浣犺緭鍏ヤ笅闱㈣繖𨱒″懡浠ょ殑闀垮害锛歴ource ~/.zshrc (or source ~/.bash_profile)姝ゅ懡浠ら吨鏂版彁浜や简浣犵殑shell閰岖疆锛岃╁畠鍙浠ヨ块梾鏂板彉閲忋傜幇鍦ㄤ綘鍙浠ヤ粠浠讳竴鐩褰曞湪Terminal涓璋幂敤cocos锻戒护浜嗐傝繍琛屼笅闱㈢殑锻戒护锛屽垱寤轰竴涓钖崭负SimpleGame镄凛++娓告垙妯℃澘锛歝ocos new -l cpp -d ~/Cocos2d-x-Tutorial SimpleGame浣犵殑涓荤洰褰曢噷鍒涘缓浜嗕竴涓钖崭负Cocos2d-x-Tutorial镄勭洰褰曘傚叾涓锛屽瓙鐩褰昐impleGame瀛樻斁浜嗕綘镄勯”鐩鏂囦欢銆傛敞镒忥细鍙浠ヨ緭鍏cocos --help鎴朿ocos -h𨱒ヨ幏鍙朿ocos瀛愬懡浠ょ殑鐩稿叧淇℃伅銆傝緭鍏ュ悗缂钬--help钬濇垨钬-h钬濓纴浣犲彲浠ヤ简瑙e埌瀛愬懡浠ょ殑钖勭嶉夐”锛屼緥濡备綘鍙浠ヨ緭鍏cocos new -h𨱒ユ煡鐪媙ew锻戒护镄勯夐”銆傚湪Finder涓鍙屽嚮~/Cocos2d-x-Tutorial/SimpleGame/proj.ios_mac/SimpleGame.xcodeproj锛屽湪Xcode涓镓揿紑椤圭洰銆傝繘鍏Xcode涔嫔悗锛岃风‘淇漇impleGame Mac澶勪簬娲昏穬鐘舵侊纴濡傚浘镓绀猴细
Cocos2d-x鍙浠ュ紑鍙戝氱嶅钩鍙扮殑娓告垙锛屼絾链鏁欑▼灏嗙潃閲嶈插紑鍙慜S X搴旂敤銆傝ラ”鐩鍙浠ュ緢瀹规槗鍦板悜鍏朵粬骞冲彴绉绘嶏纸鏄镄勶纴灏忎簨涓妗╋紒锛夛纴链鏁欑▼镄勬渶钖庨儴鍒嗗皢浼氱亩鍗曡ㄨ恒傚湪妯℃澘椤圭洰涓缂栬疟骞惰繍琛屼綘镄勫簲鐢ㄥ惂锛
鍒呜鲸鐜囱惧畾Cocos2d-x娓告垙榛樿よ锻藉悕涓衡淢yGame钬濓纴鍒呜鲸鐜囦负960x640锛屼絾杩欎簺缁呜妭璁惧畾閮藉緢瀹规槗镟存敼銆傛墦寮AppDelegate.cpp锛屽湪AppDelegate::applicationDidFinishLaunching涓镓惧埌濡备笅涓琛岋细glview = GLViewImpl::create("My Game");灏嗗叾镟挎崲涓轰笅闱㈢殑浠g爜锛欢lview = GLViewImpl::createWithRect("SimpleGame", Rect(0,0, 480, 320), 1.0);杩欐牱锛屾父鎴忓悕绉拌鏀逛负钬沦impleGame钬濓纴鍒呜鲸鐜囦篃琚璁剧疆鎴愪简涓庢ā𨱒胯儗鏅鐩搁傞厤镄480x320銆傞吨鏂扮紪璇戝苟杩愯屾柊鐗埚簲鐢锛屽畠鍙桦缑镟村皬浜嗭细
娉ㄦ剰涓涓嬩綘缁檆reateWithRect璁惧畾镄勭涓変釜鍙傛暟钬斺1.0銆傝繖涓鍙傛暟灏嗘嗘灦杩涜岀缉鏀撅纴缁忓父琚鐢ㄤ簬娴嬭瘯姣斾綘镄勫睆骞曟洿澶х殑鍒呜鲸鐜囥备緥濡傦纴𨱍冲湪涓涓灏忎簬1920x1080镄勫睆骞曚笂娴嬭瘯1920x1080鍒呜鲸鐜囩殑涓滆タ锛屼綘鍙浠ヨ惧畾鍙傛暟涓0.5锛屼互姝ゅ皢绐楀彛缂╁皬鍒960x540镄勫ぇ灏忋傝繖镙疯槠铹舵敼鍙树简娓告垙鍦ㄦ岄溃璁惧囦笂镄勬嗘灦澶у皬锛屼絾瀹冨湪iOS璁惧囦笂灏卞け鏁堜简锛涙父鎴忕殑鍒呜鲸鐜囦细镊锷ㄩ傞厤iOS璁惧囩殑灞忓箷澶у皬銆傝繖閲屼互iPhone6涓轰緥锛
浣犺ュ备綍澶勭悊澶氢釜鍒呜鲸鐜囧憿锛熷湪链鏁欑▼涓锛屼綘灏嗕细鍒涘缓锘轰簬960x640鍒呜鲸鐜囩殑鍗曚釜娓告垙璧勬簮锛岀劧钖庡湪瀹为檯杩愯屼腑灏嗗叾杩涜屽繀瑕佺殑缂╂斁銆傝佹兂瀹炵幇杩欎竴镣癸纴浣犻渶瑕佸湪AppDelegate::applicationDidFinishLaunching涓锛屾垒鍒癫irector涓妔etDisplayStats镄勪笂涓琛岋纴娣诲姞浠ヤ笅浠g爜锛
涓婇溃镄勪唬镰佺殑浣灭敤濡备笅锛 瀹氢箟浜哾esignSize钬斺斾綘鍒涘缓娓告垙阃昏緫镞朵娇鐢ㄧ殑灏哄革纴骞跺畾涔変简resourceSize钬斺斾綘镄勮祫婧愭墍锘轰簬镄勫垎杈ㄧ巼銆 蹇呰佺殑镞跺欙纴杩欎簺浠g爜浼氲╂父鎴忕殑Director瀵硅祫婧愯繘琛岀缉鏀撅纴缂╂斁浼氩熀浜庢父鎴忕殑璁捐″拰鎻愪緵镄勮祫婧愬昂瀵歌繘琛
娣诲姞绮剧伒鎺ヤ笅𨱒ワ纴涓嬭浇椤圭洰镓闇瑕佺殑璧勬簮鏂囦欢锛屽苟涓斿皢鍏惰В铡嫔埌鏂逛究镄勪綅缃銆傚叏阃変綘鍒氩垰瑙e帇镄凷impleGameResources鏂囦欢澶逛腑镄勬枃浠讹纴鍦ㄤ綘镄刋code椤圭洰涓灏嗗畠浠𨰾栧叆Resources缁勪腑銆傚綋链夊硅瘽妗嗗脊鍑虹殑镞跺欙纴涓瀹氲佸湪镣笷inish涔嫔墠妫镆Copy items if needed, SimpleGame iOS 鍜 SimpleGame Mac銆
鎺ヤ笅𨱒ワ纴镓揿紑HelloWorldScene.h锛屽湪include cocos2d.h钖庨溃镄勫湴鏂规坊锷犱互涓嬩唬镰侊细 using namespace cocos2d;杩椤氨鎸囧畾浜嗕綘浼氢娇鐢╟ocos2d杩欎竴锻藉悕绌洪棿锛坣amespace锛夛绂浜庢槸锛屼綘鍙浠ョ敤Sprite𨱒ヤ唬镟缟ocos2d::Sprite銆傚掍篃涓嶆槸闱炶繖镙蜂笉鍙锛屼絾杩欎细璁╀綘镄勫紑鍙戣繃绋嫔彉寰楁剦蹇涓浜涖:]鐜板湪锛屼綘闇瑕佷竴涓绉佹湁鎴愬憳鍙橀噺𨱒ユ寚钖戜綘镄刾layer绮剧伒銆傚湪HelloWorld镄勫0鏄庤鍙ヤ腑娣诲姞浠ヤ笅浠g爜锛
铹跺悗锛屾墦寮HelloWorldScene.cpp锛屽皢HelloWorld::init鏂规硶涓镄勫唴瀹规崲鎴愪互涓嫔唴瀹癸细
涓嬮溃鏄链鏂规硶镄勮︾粏璇存槑锛 棣栧厛锛岃皟鐢ㄧ埗绫荤殑init鏂规硶銆傚彧链夎皟鐢ㄦ垚锷熷悗浣犳墠鑳界户缁璈elloWorldScene镄勫畨瑁呫 鍏舵★纴浣跨敤娓告垙镄凞irector singleton𨱒ヨ幏鍙栫獥鍙g殑杈圭晫銆 鍐嶆★纴鍒涘缓DrawNode锛岀粯鍒朵简涓涓濉鍏呭睆骞旷殑𨱔拌壊鐭╁舰锛屽苟灏嗗叾娣诲姞鍒板満鏅涓銆傝繖鎴愪负浜嗘父鎴忕殑鑳屾櫙銆 链钖庯纴阃氲繃锲惧儚钖岖О鍒涘缓player绮剧伒銆傚皢瀹冩斁缃鍦ㄥ睆骞曞乏杈圭晫10%璺濈荤殑鍦版柟锛屽瀭鐩村眳涓锛屽苟灏嗗叾娣诲姞鍒板満鏅涓銆傜紪璇戝苟杩愯屾父鎴忥绂鍝埚搱锛岀埗钥佷埂浜蹭滑蹇𨱒ョ湅鍟婏纴灏忓繊钥呰繘𨱒戜简锛:]
绉诲姩镄勬鐗蹇嶈呴渶瑕佷竴涓浜虹敓鐩镙囷纴镓浠ュ缑鍦ㄥ満鏅閲屾坊锷犵偣镐鐗╄╀粬铡绘墦銆备负浜呜╂父鎴忔洿濂界帺锛屾鐗╂渶濂借兘𨱒ュ洖璧板姩钬斺斿惁鍒椤氨浼氱湅璧锋潵娌″暐鎸戞垬镐с傛垜浠瑕佸湪灞忓箷鍙充晶寰堣繎镄勫湴鏂瑰垱寤烘鐗╋纴铹跺悗鍒涘缓涓涓锷ㄤ綔𨱒ヨ╀粬浠绉诲姩鍒板乏渚с傞栧厛锛屾墦寮HelloWorldScene.h锛屽苟涓旀坊锷犲备笅镄勬柟娉曞0鏄庯细
铹跺悗锛屽湪HelloWorldScene.cpp涓娣诲姞濡备笅镄勬柟娉曞疄鐜帮细
铏界劧鐩稿硅岃█姣旇缉鐩寸槠锛屼絾涓嬮溃杩樻槸璁蹭竴涓嬭繖浜涗唬镰佺殑浣灭敤锛 链鏂规硶绗涓閮ㄥ垎涓庝箣鍓嶅筽layer锅氱殑鐩镐技锛氩垱寤轰竴涓镐鐗╃殑绮剧伒锛屽皢鍏舵斁缃鍦ㄧ揣闱犲睆骞曞彸渚х殑鍦版柟銆傚畠镄剏杞村潗镙囱璁惧畾涓洪殢链猴纴杩欐牱镓嶅ソ鐜┿ 鎺ヤ笅𨱒ヨ惧畾镐鐗╁姩浣灭殑镞堕暱锛屾湰鏂规硶鍦2绉掑拰4绉掍箣闂磋$畻鍑轰简涓涓闅忔満鍊笺傛疮涓镐鐗╅兘瑕佸湪灞忓箷涓婄Щ锷ㄧ浉钖岀殑璺濈伙纴镓浠ユ椂闀跨殑闅忔満镐у艰嚧浜嗘鐗╀滑阃熷害镄勯殢链烘с 链钖庯纴链鏂规硶鍒涘缓浜嗕竴涓璁╂鐗╀粠鍙冲埌宸︽í绌垮睆骞旷殑锷ㄤ綔锛屽苟涓旇╂鐗╁幓镓ц岃繖涓锷ㄤ綔銆傚规ゆ湰鏂囧悗闱浼氭湁镟磋︾粏镄勮В閲娿侰ocos2d-x鎻愪緵浜嗗緢澶氶潪甯镐究鎹风殑鍐呯疆锷ㄤ綔锛屽畠浠鍙浠ュ府锷╀綘闅忕潃镞堕棿杞绘涧鏀瑰彉绮剧伒镄勭姸镐侊纴鍖呮嫭绉诲姩锷ㄤ綔銆佹棆杞锷ㄤ綔銆佹贰鍑哄姩浣溿佸姩鐢诲姩浣滐纴绛夌瓑銆傚湪姝わ纴浣犲湪镐鐗╄韩涓婄敤鍒颁简3涓锷ㄤ綔锛 MoveTo锛氩湪涓瀹氱殑镞堕棿鍐呭皢瀵硅薄浠庝竴涓镣圭Щ锷ㄥ埌鍙︿竴涓镣广 RemoveSelf锛氩皢涓涓鑺傜偣浠庡叾鐖惰妭镣逛腑绉婚櫎锛屼粠钥屾湁鏁埚湴灏嗗叾浠庡満鏅涓钬滃垹闄も濄傚湪链渚嬩腑锛屽綋镐鐗╁彉寰椾笉鍙瑙佹椂锛屼綘浣跨敤姝ゅ姩浣沧潵鎶婃鐗╀粠鍦烘櫙涓绉婚櫎銆傝繖闱炲父閲嶈侊纴钖﹀垯灏变细链夋棤闄愬氱殑镐鐗╁嚭鐜帮纴链缁堣楀敖璁惧囩殑璧勬簮銆 Sequence锛氩厑璁镐綘鎸夐‘搴忓疄鐜颁竴绯诲垪镄勫叾浠栧姩浣滐纴姣忔″疄鐜颁竴涓銆傝繖镒忓懗镌锛屼綘鍙浠ヨ╂鐗╃Щ锷ㄧ┛杩囨暣涓鍦烘櫙锛屽埌杈剧壒瀹氱殑浣岖疆涔嫔悗鍐嶅皢鍏朵粠灞忓箷涓婄Щ闄ゃ傚湪浣犵殑蹇嶈呯矇澧ㄧ橱鍦轰箣鍓嶏纴杩樻湁链钖庝竴浠朵簨𨱍呪斺斾綘闇瑕佸疄闄呭湴璋幂敤杩欎釜鏂规硶𨱒ュ垱寤烘鐗┿备负浜呜╂父鎴忔洿链夎叮锛屼綘闇瑕佷笉锅滃湴閲忎骇镐鐗┿傚緢绠鍗曪纴鍦℉elloWorld::init链灏緍eturn涔嫔墠镄勫湴鏂癸纴娣诲姞濡备笅浠g爜锛 srand((unsigned int)time(nullptr)); this-schele(schele_selector(HelloWorld::addMonster), 1.5);srand((unsigned int)time(nullptr));璇鍙ュ埯濮嫔寲浜嗛殢链烘暟鐢熸垚鍣ㄣ傚傛灉涓嶆墽琛岃繖涓姝ワ纴姣忔¤繍琛岀▼搴忛兘浼氢骇鐢熶竴镙风殑闅忔満鏁般傝繖杩桦彨浠涔堥殢链哄晩瀵逛笉瀵癸纻:]涔嫔悗锛屼綘钖憇chele鏂规硶浼犻扝elloWorld::addMonster锛屾疮闅1.5绉掑畠灏呜皟鐢ㄤ竴娆addMonster()銆傝繖閲岋纴Cocos2dx浣跨敤浜咰++镄勬寚阍堟潵鏁村悎鍑芥暟銆傚傛灉浣犱笉澶镍傚畠镄勫师鐞嗙殑璇濓纴璇峰幓ioscpp镆ラ槄镟村氢俊鎭銆傚ソ浜嗭紒缂栬疟骞惰繍琛屼綘镄勯”鐩锛涚幇鍦ㄤ綘搴旇ュ彲浠ョ湅鍒版鐗╀滑姝e湪娆涔愬湴锛堟垨钥呮湰渚嬩腑瀹冧滑鐪嬩笂铡诲叾瀹炴尯镒ゆ掔殑锛侊级鍦ㄥ睆骞曚腑𨱒ュ洖绉诲姩浜嗭细
鍙戝皠椋为晼鍕囨暍镄勫皬蹇嶈呴渶瑕佷缭鎶よ嚜宸便傚湪娓告垙涓链夊緢澶氱嶆柟寮忓彲浠ュ疄鐜板紑𨱔锛屼絾鍦ㄦ湰渚嬩腑浣犲皢浣跨敤镣瑰嚮灞忓箷镄勬柟寮忥纴灏嗛为晼链濈帺瀹剁偣鍑诲睆骞旷殑镓鍦ㄧ殑鏂瑰悜鍙戝皠鍑哄幓銆侠iubiu!:]鏂逛究璧疯侊纴浣犺佺敤MoveTo锷ㄤ綔𨱒ュ畬鎴愯繖涓鏁堟灉钬斺旂幇鍦ㄦ垜浠涓嶅缑涓嶅仛镣规暟瀛﹂树简銆侻oveTo锷ㄤ綔闇瑕佷负椋为晼璁惧畾涓涓鐩镄勫湴锛屼絾鏄浣犱笉鑳界洿鎺ヤ娇鐢ㄨ緭鍏ョ殑鍦板潃锛屽洜涓洪偅涓镣瑰彧浠h〃浜嗗彂灏勬椂鍊欑浉瀵逛簬鐜╁剁殑鏂瑰悜銆备綘闇瑕佽╅为晼涓鐩存部镌杩欎釜鏂瑰悜绉诲姩鐩村埌链缁埚埌杈惧睆骞曞栫殑鐩镄勫湴銆备笅锲捐存槑浜呜繖涓𨱍呭喌锛
浠庡师濮嬬偣鍒版帴瑙︾偣镄刹鍧愭爣璺濈诲拰y鍧愭爣璺濈荤粍鎴愪简涓涓灏忎笁瑙掑舰锛涗綘鍙闇瑕佹寜镦у悓镙风殑姣旂巼锅氢竴涓澶т笁瑙掑舰钬斺斾綘杩樻竻妤氲嚜宸卞笇链涗竴涓绔镣规槸澶勪簬灞忓箷涔嫔栫殑銆傝繖浜涜$畻鏄浠Cocos2d-x镓鍖呮嫭镄勫悜閲忔暟瀛︾▼搴忔潵镓ц岀殑銆备絾鏄锛屽湪浣犺兘澶熻$畻寰浣曞勭Щ锷ㄤ箣鍓嶏纴浣犻渶瑕佸惎鐢ㄨ緭鍏ヤ簨浠舵搷浣沧潵銮峰彇鐢ㄦ埛镣瑰嚮镄勪綅缃銆傚皢浠ヤ笅浠g爜娣诲姞镊矵elloWorld::init镄勬汤灏俱乺eturn涔嫔墠镄勫湴鏂癸细 auto eventListener = EventListenerTouchOneByOne::create(); eventListener-onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this); this-getEventDispatcher()- (eventListener, _player);Cocos2d-x 3鍙娄互涓婄増链浣跨敤EventDispatcher𨱒ュ勭悊钖勭嶅悇镙风殑浜嬩欢锛屽傝Е鎽搞佸姞阃熻″拰鍏朵粬阌鐩树簨浠躲傛敞镒忥细鏁寸瘒镄勮ㄨ轰腑锛屸渢ouch钬濇寚镄勬槸瑙﹀睆鎴栬呯偣鍑汇侰ocos2d-x瀵逛簬杩欎袱绉崭簨浠剁被鍨嬮噰鍙栫浉钖岀殑鏂规硶銆备负浜嗕粠EventDispatcher涓銮峰彇浜嬩欢锛屼綘闇瑕佹敞鍐屼竴涓狤ventListener銆傛湁涓ょ嶈Е鎽镐簨浠剁殑鐩戝惉鍣锛 EventListenerTouchOneByOne锛氭ょ被鍨嫔规疮涓瑙︽懜浜嬩欢璋幂敤涓娆″洖璋冩柟娉曘 EventListenerTouchAllAtOnce锛氭ょ被鍨嫔规墍链夌殑瑙︽懜浜嬩欢璋幂敤涓娆″洖璋冩柟娉曘傛疮涓浜嬩欢鐩戝惉鍣ㄦ敮鎸4涓锲炶皟锛屼絾浣犲彧闇瑕佷负镊宸卞叧蹇幂殑浜嬩欢缁戝畾鏂规硶銆 onTouchBegan锛氭坠鎸囩涓娆$板埌灞忓箷镞惰璋幂敤銆傚傛灉浣犱娇鐢ㄧ殑鏄疎ventListenerTouchOneByOne锛屼綘蹇呴’杩斿洖true镓嶈兘銮峰彇鍙﹀3涓瑙︽懜浜嬩欢銆 onTouchMoved锛氭坠鎸囨帴瑙﹀睆骞曞苟绉诲姩锛堜缭鎸佹帴瑙︼级镞惰璋幂敤銆 onTouchEnded锛氭坠鎸囩诲紑灞忓箷镞惰璋幂敤銆 onTouchCancelled锛氩湪鐗瑰畾镄勭粨𨱒熶簨浠跺勭悊镄勭幆澧冧腑琚璋幂敤锛屽备綘姝e湪瑙﹀睆镄勬椂鍊欙纴涓涓鐢佃瘽镓扑简杩涙潵镓撴柇浜呜繖涓猘pp杩涚▼銆傚湪链娓告垙涓锛屼綘鍙鐢ㄥ叧蹇冭Е鎽稿彂鐢熺殑镞堕棿灏卞ソ浜嗐傚0鏄庝綘镄勫洖璋冨嚱鏁版潵鍦℉elloWorldScene.h涓銮峰彇瑙︽懜镄勯氱煡锛屽儚杩欐牱锛 bool onTouchBegan(Touch touch, Event unused_event); 铹跺悗锛屽湪HelloWorldScene.cpp涓镓ц屼綘镄勫洖璋冨嚱鏁帮细
涓婇溃镄勮繖涓鏂规硶姣旇缉澶嶆潅锛岃╂垜浠𨱒ヤ竴姝ヤ竴姝ュ洖椤句竴涓嬨 绗涓琛岃娉ㄩ喷鎺変简锛屼絾瀹冭存槑浜嗕綔涓虹浜屼釜鍙傛暟浼犻掔粰(eventListener, _player)镄刜player瀵硅薄琚璁块梾镄勬柟寮忋 姝ゅ勮幏鍙栦简鍦烘櫙鍧愭爣绯讳腑瑙︽懜镄勫潗镙囷纴铹跺悗璁$畻浜呜繖涓镣圭浉瀵逛簬鐜╁跺綋鍓崭綅缃镄勫亸绉婚噺銆傝繖鏄疌ocos2d-x涓钖戦噺鏁板︾殑涓涓渚嫔瓙銆 濡傛灉offset镄刹鍊兼槸璐熷硷纴杩栾〃鏄庣帺瀹舵h瘯锲炬浈钖庡皠鍑汇傚湪链娓告垙涓杩欐槸涓嶅厑璁哥殑锛堢湡姝g殑蹇嶈呬笉浼氩线钖庣湅锛侊级锛屾墍浠ュ彧闇瑕佽繑锲炲氨濂戒简锛屼笉鐢ㄥ彂灏勯为晼銆 鍦ㄧ帺瀹舵墍鍦ㄧ殑浣岖疆鍒涘缓涓涓椋为晼锛屽皢鍏舵坊锷犲埌鍦烘櫙涓銆 涔嫔悗锛岃皟鐢╪ormalize()𨱒ュ皢锅忕Щ閲忚浆鍖栦负鍗曚綅钖戦噺锛屽嵆闀垮害涓1镄勫悜閲忋傚皢鍏朵箻浠1000锛屼綘灏辫幏寰椾简涓涓鎸囧悜鐢ㄦ埛瑙﹀睆鏂瑰悜镄勯暱搴︿负1000镄勫悜閲忋备负浠涔堟槸1000锻锛熷洜涓洪暱搴﹀簲褰撹冻浠ヨ秴杩囧綋鍓嶅垎杈ㄧ巼涓嫔睆骞旷殑杈圭晫銆:] 灏嗘ゅ悜閲忔坊锷犲埌椋为晼镄勪綅缃涓婂幓锛岃繖镙蜂綘灏辨湁浜嗕竴涓鐩镙囦綅缃銆 链钖庯纴鍒涘缓涓涓锷ㄤ綔锛屽皢椋为晼鍦2绉掑唴绉诲姩鍒扮洰镙囦綅缃锛岀劧钖庡皢瀹冧粠鍦烘櫙涓绉婚櫎銆傜紪璇戝苟杩愯岀▼搴忥绂镣瑰嚮灞忓箷锛岃╀綘镄勫繊钥呮浈镌鏁屼汉浠鍙戝皠钖э紒