原創(chuàng)作品,轉載請標明:http://blog.csdn.net/jackystudio/article/details/12150907 整個游戲是出爐了,但是只在PC上玩很不過癮,觸屏的體驗是鼠標沒辦法達到的。所以這節(jié)我們把它移植到Android平臺上。當然這個游戲太微不足道了,所以我也不指望它能為我賺什么錢,現在考慮些就圖樣圖森破了。這里的廣告只是純技術上的研究。做游戲,浮躁不得。
1.移植到Android平臺其實這些我在http://blog.csdn.net/jackystudio/article/details/11516435一文中就有講過了,這里就再重復一遍吧。Cygwin和Eclipse自行準備好吧。
1.1.配置Android項目(1)點擊已配置好的create-android-project.bat,創(chuàng)建JackyAirplane的安卓項目。配置方式創(chuàng)建請看上文。 (2)Win32項目下的Classes里面的所有源文件和頭文件都放進Android項目中的Classes。如果你寫的源文件和頭文件是放在proj.win32中的,也把它們拷出來到Classes。 (3)進入proj.android,把音效,字體,圖片這些資源拷入asset文件夾中。 (4)進入proj.android,res下各目錄存放有游戲的圖標,你可以進行修改。 (5)進入proj.android,jni→helloworld目錄下有main.cpp,這是跨平臺的入口,也就是jni層相關。找到這個函數Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit,修改如下內容。
[cpp] view plaincopy
[cpp] view plaincopy
1.2.交叉編譯打開Cygwin,把proj.android中的build-native.sh拖到Cygwin中,執(zhí)行編譯。正常編譯成功后,你可以在\proj.android\libs\armeabi目錄下找到libgame.so。這就是整個游戲的內容被打包進去了。.so是linux下的動態(tài)鏈接庫,相當于windows下的.dll。
1.3.導入android項目,生成apk打開Eclipse,File-Import-Android-Existing Android code to workspace。選擇剛才的proj.android。導入。Eclipse工作區(qū)就可以看到這個游戲的android項目了。啥都不用改了,直接編譯成.apk就可以了。 注意:AVD不支持openGLES2.0,所以必須用真機調試。
2.廣告植入現在這類廣告多如牛毛。選擇哪家我也就不多說了,免得有廣告嫌疑。如何植入廣告這里我也只能簡單的說下。因為實際植入還是很麻煩的,畢竟廣告商的SDK不一樣,還涉及到jni技術,java基礎,Android開發(fā)基礎,這些都要有了解。 這里我把廣告分為兩類,這部分我也算初學,如果有什么錯誤,煩請指出。。。
2.1.Android廣告和cocos2d-x游戲無交互這類比如開場插屏廣告之類的。 這里廣告和游戲沒有交互,也就是說它和游戲的相對獨立的,大體步驟是: (1)單獨的做出一個帶有廣告LoadingActivity和對應布局,然后在AndroidManifest.xml中把啟動Activity指向它。 (2)我們看一下JackyActivityActivity(cocos2d-x自動幫你生成的):
[cpp] view plaincopy
[cpp] view plaincopy
[cpp] view plaincopy
2.2.Android廣告和cocos2d-x游戲有交互這類比如過場廣告,暫停廣告之類的。 這里處理起來就比無交互的麻煩多了。其實也就是要在C++代碼中調用JavaAPI,所以采用了Jni技術。 (1)Java代碼:給JackyAirplane添加一個靜態(tài)廣告成員變量。
[java] view plaincopy
(2)Java代碼:添加靜態(tài)成員方法,用來顯示廣告。
[java] view plaincopy
(3)C++代碼:通過jni調用showAD()。
[cpp] view plaincopy
好了,微信飛機大戰(zhàn)講解到這里就全部結束了。感謝CCTV什么的就不來了。希望這一系列的教程能夠幫助您開啟cocos2d-x游戲的快樂旅途! |
|
來自: rockljl > 《cocos2d開發(fā)》