cocos2dx手機游戲源碼
『壹』 cocos2dx android 代碼混淆
1. 下載cocos2dx 2.2.1
去cocos2dx官網下載就好,最好是2.2.1版本。3.0版本變化比較大,也沒測試過。
3. 創建工程
使用cocos2dx目錄下的tools/project-creator/create_project.py創建一個工程。
4. 編譯android版本
網上很多文章說,編譯cocos2dx的Android版本時需要安裝cygwin之類的,其實這對於目前的ndk版本來說是不必要的,因為高版本的ndk都集成了cygwin的一些功能。我這里使用的是ndk
r9d。下面來說一下操作步驟。
我編譯的習慣是直接在jni目錄下預先ndk-build命令,因為在Windows下使用.sh結尾的文件太怪異了。首先來看一下build_native.sh乾的工作:
這是build_native.sh中實際工作的部分。可以看到它使用NDK_ROOT下的ndk-build來編譯,還導入了NDK_MODULE_PATH,
這個NDK_MODULE_PATH是為Android.mk中的import-mole提供路徑選擇。
現在來導入NDK_MODEL_APTH, 在Android.mk的import-mole之前加上cocos2dx中的幾個路徑:
$(call import-add-path, G:/cocos2dx)
$(call import-add-path,
G:/cocos2dx/cocos2dx/platform/third_party/android/prebuilt)
運行ndk-build, 編譯。
編譯時可能出現這樣的錯誤:error: GLES2/gl2.h: No such file or
directory,這是因為低版本的Android版本不支持opengl es2.0,在Application.mk中加上:
APP_PLATFORM := android-17
5. 生成apk包
在eclipse下打開創建的工程,導入相關的包後,在AndroidMenifest.xml中加入:
android:debuggable="true"
表明這是一個可以調試的包。運行,結果出現:
這是因為該工程默認使用build_native.sh編譯:
因為build_native.sh現在已經沒用了,所以把它改成:
這個意思是,直接使用NDK_ROOT環境變數下的ndk-build.cmd來編譯工程,編譯成debug版本,編譯成armeabi和armeabi-v7a兩種指令格式的庫,執行這個命令的目錄是工程目錄下的jni文件夾。debug版本和armeabi-v7b主要是為了後面使用visualGDB調試做准備。
再編譯,就可以生成apk包了。
VisualGDB調試
1. 下載並安裝VisualGDB, 安裝完成後,在Visual Studio的目錄中可以看到Android選項:
2. 配置VisualGDB, 在Android -> Setup SDK/NDK location
主要配置JDK,SDK,NDK,ANT路徑
3. 設置要調試的apk包。Android -> Debug a Custom APK file
4 設置完成後,在代碼中設置斷點,點擊Debug, 開始調試
5. 等apk安裝完成後,程序會運行到斷點出,就可以開始用Visual Studio調試了
『貳』 怎麼把cocos2dx游戲代碼proj.android導入到androidstudio里
由於在原來的ADT的Eclipse環境中,用ndk_build工具生成了相應的各個.so庫文件之後,eclipse工具就會自動把這些庫導入到apk中。而Android Studio目前為止(0.86版本)還無法做到那麼自動,但是我們可以通過以下方式進行。 首先在Android Studio工程的app目錄下創建整個jni目錄,jni目錄里寫Android.mk、Application.mk以及各類C/C++和匯編源文件。然後跟原來一樣,用ndk_build工具去編,然後工具會自動生成libs目錄,裡面還有每個你在Application.mk里所指定處理器架構的so文件。 完成之後,編輯app目錄下的build.gradle文件,為其添加以下代碼: sourceSets { main { jniLibs.srcDirs = ['libs'] } } 完整的build.gradle文件如下所示: 復制代碼 apply plugin: 'com.android.application' android { compileSdkVersion 20 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.adwo.gamecenter.civetcoffeegamecenter" minSdkVersion 9 targetSdkVersion 20 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { jniLibs.srcDirs = ['libs'] } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:20.0.0' }
『叄』 哪裡有紋理貼圖立方體cocos2dx手機游戲源碼
當我們把一張圖片載入到內存裡面之後,它是不能直接被GPU繪制出來的,紋理貼圖過程如下:
首先,我們為之前的頂點添加紋理坐標屬性並傳到vertex shader裡面去;
然後,把內存裡面的紋理傳給GPU;
最後,在fragment shader裡面通過采樣器,就可以根據vertex shader傳遞過來的紋理坐標把紋理上面的顏色值用插值的方式映射到每一個像素上去58player.com/code-2956-1.html。
『肆』 誰有cocos2dx游戲開發之旅 光碟源碼可以給我一份嗎
風險肯定是有的~轉過來又倆問題,一個是沒做過游戲~整個游戲邏輯可能有問題~另一個是c 不熟悉,工程項目稍微大一點的話怕內存泄露~cocos2d-x肯定是用來做手機游戲的~萬一有泄露可能整個程序直接崩了~主要怕這個
『伍』 你好,我也是剛剛接觸cocos2dx,從網上下載了個游戲源碼 但是並不知道怎麼導入到vs2012中,
找到項目的中以.vcxproj或者.sln命名的文件 打開就行了。
『陸』 哪裡有DemoLogin登錄界面cocos2dx手機游戲源碼
一個登陸界面由背景圖層和一些文本標簽、輸入框、按鈕等組成。一般是按照從下到上的順序創建控制項。
第一步是給根節點設置貼圖,首先是選在對象結構中選中根節點,並打開屬性面板,然後在資源面板中找到Register.png,並拖拽到屬性面板中的文件屬性框內58player.com/code-2943-1.html。
『柒』 如何看懂Cocos2dx2.0的源碼
cocos2dx Cocos2d-x是一個開源的移動2D游戲框架,MIT許可證下發布的。這是一個C++ Cocos2d-iPhone項目的版本。Cocos2d-X發展的重點是圍繞Cocos2d跨平台,Cocos2d-x提供的框架。手機游戲,可以寫在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容...
『捌』 如何學習 cocos2d-x
剛巧我也是從AS3轉到了cocos2d-x,說說我的經驗吧。
一、 cocos2d-x 部分
1.1 技術選型
從第三個手游開始,我實在被Adobe的ANE和國內的小平台折騰得沒了脾氣,決定轉到cocos2d-x。在選擇哪種語言綁定的時候糾結了很久,最後力排眾議選了 lua:Cocos2d-x script language binding:Lua or Javascript? 。cocos2d-x 2.x 的lua綁定做得並不好,於是我選擇了 quick-cocos2d-x 。
1.2 學習 C++
《C++ Primer》 是不錯的入門書籍,建議看第五版,我寫過一篇 C++Primer 第4版和第5版比較 。學習期間建議畫一些思維導圖幫助理解和整理思路。例如這個(不完整):
1.3 學習DEMO和熟悉開發平台。
編譯 cocos2d-x 自帶的 TestCPP 項目,全部跑一遍。熟悉 cocos2d-x API 的用法。記得生成文檔,建議每個API的功能都瀏覽一遍。
在學習DEMO的過程中,你還必須熟悉自己開發平台的IDE,例如Windows上必須熟悉 Visual Studio,而OS X上必須熟悉xcode,Linux平台上就熟悉Eclipse+CDT吧。
注意,quick-cocos2d-x 是不支持Linux開發平台的。
1.4 了解引擎的文件夾結構
基於 cocos2d-x 源碼生成的文檔並不怎麼詳細,許多功能必須看源碼。但這個階段,我不建議糾結源碼太深,倒是可以糾結一下 cocos2d-x 的文件夾結構,看看各個類放在什麼地方,找一找常見的哪些宏和常量以及枚舉定義在什麼地方,這花不了多少時間,但能讓你對cocos2d-x有更深刻的了解,同時給你很強的成就感。這種成就感沖淡了你面對大量源碼時候的無力感,讓你能夠繼續前行。
下面是我的分析:
1.5 重復上面的第3步:再次學習DEMO
這時候看DEMO可能會輕松不少,但是你會有更多的問題去糾結。例如多解析度支持?例如坐標系統?例如繪圖功能?例如層級管理系統?例如事件傳遞系統?等等等等……這時候可以去Google(注意不要用百毒和其他搜索引擎)找文檔看了。我推薦一些我看過的不錯的文檔和博客:
Cocos2d-x 多解析度適配完全解析
Cocos2d-x官方中文文檔 v2.x
子龍山人 – 博客園
紅孩兒的游戲編程之路
Cocos2D | iOS Development Tips & Tricks by BiOM
Ray Wenderlich
Cocos2d-x | Cross Platform Open Source 2D Game Engine
許多博客都是極好的。紅孩兒 寫了許多源碼分析,每一句源碼都加了詳細注釋。雖然我不太認同他這種吃力不討好的方法,但這對於新手來說確實是有很大幫助的。
另外在 Stack Overflow 你能找到絕大部分問題的答案。當然,許多問題是針對 cocos2d 而非 cocos2d-x 的,不過用法相同,照看不誤。許多優秀的文章都是基於 cocos2d 的,所以,不要介意,可以先花半天時間熟悉 OC 的語法,能看懂即可。
暫時不要買中文書。我曾經花3天時間看完了 《Cocos2D-X游戲開發技術精解》 和 《cocos2d-x手機游戲開發–跨iOS、Android和沃Phone平台》 ,發現作者其實就是來賺稿費的。
忘了廣告了,我的博客(cocos2d-x | zrong』s Blog)也有一些cocos2d-x內容,歡迎來噴。
1.6 熟悉工具集
現在你應該對周邊工具感興趣了。例如幀動畫使用什麼製作?BMFont使用什麼製作?骨骼動畫呢?plist文件怎麼編輯?碎圖用什麼工具拼合?有些項目上,你有許多選擇,也可能沒得選。去Google吧,如果遇到選擇上的問題,歡迎找我討論。
二、 quick-cocos2d-x 部分
2.1 現在就到lua時間了
請認真讀完 《Lua程序設計(第2版) 》 第一、二、三部分。第四部分可暫時不讀。
2.2 熟悉 quick-cocos2d-x 的文件夾結構
相信有了上面 cocos2d-x 的基礎,這個應該不難理解。
2.3 跑完 quick-cocos2d-x 自帶的所有sample
在這期間,熟悉 framework 中的所有封裝。可以參考 quick網站 和 quick wiki 。
2.4 學習導出API給Lua使用
導出 C/C++ API 給 Lua 使用
三、學習 OpenGL ES
熟悉Lua部分之後,作為一個有志於成為程序員的碼農,依然要回到C++來,這里才是 cocos2d-x 的本質。
cocos2d-x 使用 OpenGL ES 進行渲染的,如果要對 cocos2d-x 的渲染層進行任何形式的擴展,你完全避不開 OpenGL ES。
既然逃不開,那就對她說,請張開雙腿,我要上。
3.1 閱讀 OpenGL ES 2.0 Programming Guide
下面是這本書的官網,目前已經出了 OpenGL ES 3.0 版本,cocos2d-x 使用的是2.0。
http://www.opengles-book.com/es2/index.html
這本書寫得淺顯易懂,非常適合新手。有位網友花3個月時間翻譯了中文版,但還是建議你不要看了。
這里是 OpenGL ES 的 官方文檔 和 API中文翻譯 。
當然,你也可以買那本著名的 OpenGL 紅寶書 《OpenGL編程指南(原書第7版)》 來看,不過 OpenGL ES 相對與 OpenGL 來說還是有一些不同的,你要知道如何區分這些不同。
3.2 嘗試理解 cocos2d-x 的渲染部分架構
相關的類我就不列出了,我正在醞釀一個這方面的系列文章准備發到博客上。如果寫完了,我會在這里更新。
3.3 自己寫一些濾鏡、繪圖功能的擴展
例如這個: cocos2d-x-filters
四、回歸項目
到了這里,你可以開始你的項目了。雖然源碼還沒有讀完,但相信整個架構都能理解了。在做項目的過程中,再去一點點讀源碼是比較快捷和我能夠接受的方法,否則就太枯燥了。
你可以還需要選擇一下cocos2d-x相關的工具。你可能聽說過 CCB(cocosBuilder)和CCS(cocoStudio),嘗試了解她們,再決定是否使用她們。
你已經有了AS3的基礎,這樣許多前端的概念和經驗已經很豐富了。這些經驗在cocos2d-x中同樣適用。但是要注意的是,cocos2d-x不是AS3,不要試圖用AS3的方法去使用cocos2d-x。
有位碼農在從C#轉到AS3的時候向我抱怨:為什麼Flash Builder沒有Visual Studio的這個功能那個功能?
然後這位碼農在從AS3轉到Sublime Text(用於Lua編輯)的時候向我抱怨,為什麼Sublime Text沒有Flash Builder的這個功能那個功能?
上面是個笑話。
同時,為了解決一些cocos2d-x沒有提供的功能,你必須去學習相關的知識。例如這個:在 cocos2d-x 中使用 libcurl 實現上傳文件功能(附quick-cocos2d-x封裝) 。不過你現在已經有了基礎,學習這些不是難事。
在有時間的時候,可認真讀一下上面提到的《Lua程序設計(第2版) 》第四部分,了解Lua和C語言通信的方式,順便看看cocos2d-x裡面是怎麼實現的。
另外,一些你需要的引擎中沒有的功能,也可以順手實現了開源出來(例如這個: 一個LuaSocket封裝 ),說不定你需要的東西正好是別人也需要的。
五、熟悉發布平台
既然是做手游,Android和iOS平台是逃不掉了。
你要熟悉Android和iOS平台的特點,熟悉JAVA語言在Android上的應用,熟悉Objective-C在iOS上的應用,熟悉Eclipse ADT和XCode(上面應該已經熟悉過了)。
你還要熟悉Google Play和AppStore的發布流程以及方針、政策,內購的接入、SDK的嵌入。
你要學習和各個接入平台的程序員、商務、前台小妹打交道(因為經常會找不到你要找的真正的負責該SDK的技術人員),你要能忍受國內小平台糟糕的文檔、代碼規范和逆天的編程方法。
終、沒有終點
上面說的並不完整,應該遺漏了不少東西,但我只能說這么多了。因為我的經驗也止於此。
轉載,僅供參考,祝你愉快,滿意請採納。
『玖』 cocos2dx 2.x源碼還有用么
不建議再使用 cocos2d-x 2.x ,主要是 cocos2d-x 3.x 的 API 更合理,更規范,也使用了 C++ 11的諸多特性。
cocos2d-x 的教材比較混亂,建議不要看。
觸控官網的文檔都不一定靠譜,最靠譜還是看源碼。
『拾』 手機游戲用Cocos2d游戲引擎的開發代碼如何保障不會被逆向破解
目前針對Cocos2d游戲引擎的開發代碼防逆向主要是通過隱藏lua腳本文件,根據愛加密介紹,通過隱藏lua腳本文件,可以保護代碼不被黑客給逆向,從而保護游戲邏輯的安全性。希望可以採納,謝謝!