顯示具有 程式設計-Cocos2dx 標籤的文章。 顯示所有文章
顯示具有 程式設計-Cocos2dx 標籤的文章。 顯示所有文章

2016年6月14日 星期二

[Android開發] Cocos2d-x 3.11 安裝建置

本篇安裝說明為完整安裝Cocos2d-x 3.11
舊版本請參考此篇: Cocos2d-x 3.2 安裝建置
(內文出現不同版本號的請自動忽略換成最新版本號,版本更新太快了追不到~)

與舊版部分修改需注意:(版本3.8之前)
編輯器使用 vs2013 編譯時較不會出錯
NDK需使用r10e



Cocos2d-x主要為遊戲引擎,用在遊戲開發,
其他工具比較可看這篇 App開發工具簡介


建置開發環境共需:

A部分:Android環境:
1.Java JDK : Android為Java語言,故須建置Java環境英
2.ADT(Android SDK+Eclipse IDE) : Java語言的編輯工具以及Android的環境
3.Android NDK
*3b. appache ANT : 生成apk時會用到   (新版本似乎不需要)

B部分:Cocos2d-x環境:
4.Visual Studio : Cocos2d-x為C++寫成,故需編寫C++的工具
5.Python:生成Cocos2d-x專案時需要使用
6.Cocos2d-x : 主遊戲引擎


版本整理:

A部分:Android環境:
1.Java JDK : (jdk-7u71)
2.ADT(Android SDK+Eclipse IDE) :  (adt-bundle-20140702)
3.Android NDK :  (android-ndk-r10e)
*3b. appache ANT :  (apache-ant-1.9.4)

B部分:Cocos2d-x環境:
4.Visual Studio :  (VS2013)
5.Python: (python-2.7.9)
6.Cocos2d-x :  (Cocos2d-x 3.11)



以下開始安裝:

2016年6月13日 星期一

[Android開發] Cocos2d-x 3.x 安裝問題整理 (修改中)

1.建置proj.android 出現錯誤 (測試eclipse編譯)

a.匯入時發現錯誤 The import org.cocos2dx.lib cannot be resolver,
    原因是缺少java的lib









b. 在  D:\Android\cocos2d-x-3.2\cocos\platform\android\java\src\org\cocos2dx 複製lib 資料夾
   到  D:\Android\project\Game01\proj.android\src\org\cocos2dx 
   再重新匯入一次,錯誤就消失了

如果又出現錯誤 import com.chukong.cocosplay.client.CocosPlayClient;

那就在 
D:\Android\cocos2d-x-3.2\cocos\platform\android\java\src 複製 src 資料夾的所有檔案
到 D:\Android\project\Game01\proj.android\src


b2.或是對專案按右鍵,Build Path ->Link Source...
增加一個目錄連結變數,之後直接引用變數就可以了

  • 變數名稱: src_link
  • 引用位置: D:\Android\cocos2d-x-3.2\cocos\platform\android\java\src



2016年5月7日 星期六

[Android開發] Cocos2d-x 3.9 安裝建置

本篇安裝說明為完整安裝Cocos2d-x 3.9
舊版本請參考此篇: Cocos2d-x 3.2 安裝建置

與舊版部分修改需注意:
編輯器使用 vs2013 編譯時較不會出錯
NDK需使用r10d



Cocos2d-x主要為遊戲引擎,用在遊戲開發,
其他工具比較可看這篇 App開發工具簡介


建置開發環境共需:

A部分:Android環境:
1.Java JDK : Android為Java語言,故須建置Java環境英
2.ADT(Android SDK+Eclipse IDE) : Java語言的編輯工具以及Android的環境
3.Android NDK
*3b. appache ANT : 生成apk時會用到   (新版本似乎不需要)

B部分:Cocos2d-x環境:
4.Visual Studio : Cocos2d-x為C++寫成,故需編寫C++的工具
5.Python:生成Cocos2d-x專案時需要使用
6.Cocos2d-x : 主遊戲引擎


版本整理:

A部分:Android環境:
1.Java JDK : (jdk-7u71)
2.ADT(Android SDK+Eclipse IDE) :  (adt-bundle-20140702)
3.Android NDK :  (android-ndk-r10d)
*3b. appache ANT :  (apache-ant-1.9.4)

B部分:Cocos2d-x環境:
4.Visual Studio :  (VS2013)
5.Python: (python-2.7.9)
6.Cocos2d-x :  (Cocos2d-x 3.9)



以下開始安裝:

2015年5月1日 星期五

[Android開發] Cocos2d-x 3.6 安裝建置 (3.2更新至3.6)

本篇安裝說明為在有安裝Cocos2d-x 3.2的環境下更新至Cocos2d-x 3.6的版本
(3.3,3.4,3.5 版本跳過,更新太快,跟不上)


以列表來看,只需更新 6.Cocos2d-x : 主遊戲引擎 ,
另外需注意的是 3.Android NDK ,Cocos2d-x 3.2版本使用的是android-ndk-r9d,
而官方建議使用r10版本,才可支援Android 5.0 Cocos2d-x 3.6版本亦同


Cocos2d-x 3.2的從頭到尾安裝請看這篇
http://markcoco.blogspot.tw/2014/12/android-cocos2d-x.html



建置開發環境共需:

A部分:Android環境:
1.Java JDK : Android為Java語言,故須建置Java環境
2.ADT(Android SDK+Eclipse IDE) :
3.Android NDK
*3b. appache ANT : 生成apk時會用到   (新版本似乎不需要)
B部分:Cocos2d-x環境:
4.Visual Studio : Cocos2d-x為C++寫成,故需編寫C++的工具
5.Python:生成Cocos2d-x專案時需要使用
6.Cocos2d-x : 主遊戲引擎

版本整理:

A部分:Android環境:
1.Java JDK : (jdk-7u71)
2.ADT(Android SDK+Eclipse IDE) :  (adt-bundle-20140702)
3.Android NDK :  (android-ndk-r9d)
*3b. appache ANT :  (apache-ant-1.9.4)

B部分:Cocos2d-x環境:
4.Visual Studio :  (VS2012)
5.Python: (python-2.7.9)
6.Cocos2d-x :  (Cocos2d-x 3.6)


Cocos2d-x v3.6的新特性
  • 增加了立方體紋理的支持
  • 增加了天空盒的支持
  • 增加了地形支持
  • 增加了多邊形精靈(SpritePolygon),用於解決填充率瓶頸問題
  • iOS 64位架構使用luajit v2.1-20150331版本
  • Spine運行時庫更新到v2.1.25版本
  • libcurl更新到v7.4版本(除了WP8.1平台)
  • chipmunk更新到v6.2.2版本
  • openssl更新到v1.0.11版本
  • freetype更新到v2.5.5版本
  • libpng更新到v1.6.16版本
http://cn.cocos2d-x.org/tutorial/show?id=2791


以下開始安裝(更新):

6.Cocos2d-x v3.6 (2015.05.06)

主引擎
傳送門: http://www.cocos2d-x.org/download
直接下載: http://www.cocos2d-x.org/filedown/cocos2d-x-3.6.zip

檔案名稱:cocos2d-x-3.6.zip
檔案大小:311MB (解壓後636MB)




6.1安裝Cocos2d-x:
Cocos2d-x不需要安裝,下載下來後解壓縮至想放的地方即可,
官方說明建議不要放在C:\下,會有程序優先權(privilege)的問題,
可以放在其他如D:\或E:\

這邊是放在 D:\Android\cocos2d-x-3.6




6.2設定Cocos2d-x: 

在D:\Android\cocos2d-x-3.6下找到
setup.py 並執行
程式將會檢查所需環境變數是否設定
各路徑如下

NDK_ROOT  :                      D:\Android\ndk\android-ndk-r10d
ANDROID_SDK_ROOT:     D:\Android\sdk
ANT_ROOT:                         D:\Android\ant\apache-ant-1.9.4\bin     (注意為bin資料夾)         



ps:附上目前環境變數path的內容值:
D:\Android\sdk\platform-tools;D:\Android\sdk\tools;C:\Python27;C:\Java\jdk1.7.0_71\bin;D:\Android\cocos2d-x-3.6\templates;D:\Android\cocos2d-x-3.6\tools\cocos2d-console\bin;

6.3執行cocos2d-x環境測試:

a.打開 D:\Android\cocos2d-x-3.6\build 目錄下的

"cocos2d-win32.vc2012.sln"文件



b.會直接Visual Studio 2012或2013開啟

c.選取方案按右鍵,建置方案,(需要一段時間) (建置後資料夾大小擴增為6.85GB)





    這裡出現了一個錯誤,其中一個專案可能有錯誤,先略過繼續下面步驟.(2015.05.06)


d.專案建置完成後,按F5或本機偵錯工具,測試Cocos2d-x是否可運行



出現了一個錯誤,來檢查一下錯誤訊息,在訊息上點兩下,開啟有錯誤的程式碼片段.
D:\Android\cocos2d-x-3.6\tests\cpp-tests\Classes\SpritePolygonTest\SpritePolygonTest.cpp
的第230行
  debugForNormalSprite->drawPoints(positions, 4, 8, Color4F{0.0,1.0,1.0,1.0});

Color4F的語法為Color4F (float _r, float _g, float _b, float _a) ,後面放的不該為"{  }"
將程式碼改成

  debugForNormalSprite->drawPoints(positions, 4, 8, Color4F(0.0,1.0,1.0,1.0));

再按下F5重新偵錯cpp-tests,總算出現測試畫面 .(目前的版本有這問題先手動修正) (2015.05.06)



























6.4.生成cocos2d-x專案檔案

a. CMD的DOS視窗中進入 D:\Android\cocos2d-x-3.6\tools\cocos2d-console\bin







b. 然後輸入
      python cocos.py new Game01 -p com.hi.test -l cpp -d D:\Android\project
    生成專案
     (或是 cocos new Game01 -p com.hi.test -l cpp -d Game )

     
             參數說明:
  • Game01為項目名稱
  • -p 後面接檔案包名稱
  • -l  後面接開發語言類型,有cpp,lua,js三種
  • -d 後面接存放目錄

c.開始自動生成項目




d.備註:
若-d 後只設定名稱會在 D:\Android\Ccocos2d-x-3.6\tools\cocos2d-console\bin\  下生成專案目錄


6.5建置proj.win32  (測試C++編譯)

a.進到 D:\Android\project\Game01\proj.win32
    執行 Game01.sln (會以visual studio 2012開啟)



b.在visual studio 2012 裡建置方案(F7) 並執行(F5)後若出現以下介面即表示建置成功






6.6建置proj.android  (測試eclipse編譯)

a.進到 D:\Android\project\Game01\proj.android
執行 build_native.py
會進到DOS視窗使用python編譯專案(要等一段時間)
















b.開啟eclipse 匯入android專案





File-Import...




c.類型選Android





d.選取專案資料夾

D:\Android\project\Game01\proj.android



e.匯入時發現錯誤 The import org.cocos2dx.lib cannot be resolver,
    原因是缺少java的lib









f. 在  D:\Android\cocos2d-x-3.6\cocos\platform\android\java\src\org\cocos2dx 複製lib 資料夾
   到  D:\Android\project\Game01\proj.android\src\org\cocos2dx 
   再重新匯入一次,錯誤就消失了
f2.或是對專案按右鍵,Build Path ->Link Source...
增加一個目錄連結變數,之後直接引用變數就可以了

  • 變數名稱: src_link
  • 引用位置: D:\Android\cocos2d-x-3.6\cocos\platform\android\java\src






6.7生成apk模擬測試


a.接續前面步驟
b.先建立虛擬裝置
c.windows->Android Virtual Device Manager- >Create



  • Snapshot 會儲存快速記錄 (使用GPU時無法使用Snapshot,而cocos2dx需GPU才可開啟)
  • Use Hose GPU 則使用顯卡處理器加速

d.建立好虛擬裝置後,先將虛擬裝置開機
e.windows->Android Virtual Device Manager->Start



若缺乏API,可以進windows->Android SDK Manager 下載最新的模擬裝置
語系可改成繁體中文比較方便



f.對專案按右鍵 執行 Run as -> Android Application


g.選擇執行裝置,若有接入實體手機裝置也可以選擇後直接模擬
f.或是使用剛剛建立的虛擬裝置

i.開啟成功畫面如下




j. 建立好的apk檔可在專案資料夾內找到 
    D:\Android\project\Game01\proj.android\bin 
    Game01.apk


6.8直接打包apk的方法

在命令提是字元下進入建好的專案資料夾
執行 
cocos compile -p android -j 4

即在\bin的資料夾下生成apk檔 (一樣滿花時間)










2014年12月21日 星期日

[Android開發] Cocos2d-x 檔案架構 (1)


 
檔案結構

打開專案,可分幾個主要資料夾

Classes : 置放主要的遊戲程式碼
Resource : 置放遊戲所需資源,如圖片,音效等等
cocos2d : 函式庫

proj.win32 : Windows架構的建置資料 (啟動c++編輯的xxx.sln檔案也放置於此)
proj.android : Android架構的
proj.ios_mac : IOS架構
proj.linux : Linux架構
proj.wp8-xaml : WindowsPhone架構




















主要檔案

打開Class資料夾,有幾個預設的檔案

AppDelegate.h : 宣告函式
AppDelegate.cpp : 入口函式

HelloWorldScene.h : 宣告函式
HelloWorldScene.cpp :  預設的場景,(包含一張圖片跟關閉按鈕)






AppDelegate.h

//AppDelegate.h 分析------- 

#ifndef _APP_DELEGATE_H_   //如果沒定義
#define _APP_DELEGATE_H_   //則定義
#include "cocos2d.h"   //載入cocos2d.h

class AppDelegate : private cocos2d::Application  //繼承入口函式
{
public:
AppDelegate();
virtual ~AppDelegate();

virtual bool applicationDidFinishLaunching();   //遊戲啟動後的工作 (入口)
virtual void applicationDidEnterBackground();   //待機狀態時調用
virtual void applicationWillEnterForeground();     //從待機狀態恢復時調用};

#endif // _APP_DELEGATE_H_    //結束定義

//AppDelegate.h 分析-------








AppDelegate.cpp

//AppDelegate.cpp 分析-------

 #include "AppDelegate.h"
#include "HelloWorldScene.h"

USING_NS_CC;
AppDelegate::AppDelegate() { }
AppDelegate::~AppDelegate() { }
bool AppDelegate::applicationDidFinishLaunching() {

    //初始化導演
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLView::create("My Game");
        director->setOpenGLView(glview);
    }

    director->setDisplayStats(true);   //開啟顯示 FPS
    director->setAnimationInterval(1.0 / 60);   //設定FPS. 預設為 1.0/60 每秒60格

    auto scene = HelloWorld::createScene();  //建立 HelloWorld場景. 它是 autorelease 物件

    director->runWithScene(scene);     //執行場景

    return true;
}


void AppDelegate::applicationDidEnterBackground() {
    Director::getInstance()->stopAnimation();

    // if you use SimpleAudioEngine, it must be pause
    // SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
}

// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground() {
    Director::getInstance()->startAnimation();

    // if you use SimpleAudioEngine, it must resume here
    // SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
}



//AppDelegate.cpp 分析-------








主要類別 

CCNode 為主要物件類別,又包含了

CCDirector (導演) : 一個遊戲只能有一個導演,控制整個遊戲流程
CCScene (場景) : 為主要的大分類,如選單場景,遊戲內容場景,可包含多個圖層及角色
CCLayer (圖層) : 遊戲場景可分很多層,如背景層,角色層,NPC層,物件層,UI層
CCSprite (角色) : 可以是主角,電腦角色,物件
CCMenu (選單) : 遊戲內的介面選單,可以用cocos studio 輔助建置








2014年12月17日 星期三

[Android開發] Cocos2d-x 開發流程 (0)



1.生成Cocos2d-x專案 (建置一次即可)

  可使用 Cocos2dx_CreateProject.bat 生成  (註1)

  或進命令提示字元 D:\Android\cocos2d-x-3.2\tools\cocos2d-console\bin
  執行 cocos new Game01 -p com.hi.test -l cpp -d D:\Android\project

2.生成 C++ 專案項目 (建置C++開發環境 主要製作遊戲的地方) (建置一次即可)

  進專案的 proj.win32 資料夾
  執行 xxx.sln

  載入完後 對方案按右鍵 建置方案 (F7)

  (完成後即可開始開發遊戲或即時模擬測試(F5) )


3.生成 Android專案項目 (將專案建置到至 Eclipse 來輸出 apk執行檔)  (建置一次即可)

  進專案的 proj.android 資料夾
  執行 build_native.py



4.進Eplicse 匯入 proj.android 的專案 (匯入一次即可)

5.會缺失 org.cocos2dx.lib  (引用一次即可)

  對專案按右鍵,Build Path ->Link Source...
  新增設定好的引用變數 src_link

  (或是到 D:\Android\cocos2d-x-3.2\cocos\platform\android\java\src
  複製整個src到 \project\Game01\proj.android\src)

6.開啟 Android Virtual Device Manager 模擬裝置或插入手機

7.對專案按右鍵 執行 Run as -> Android Application


8.之後作業都是在proj.win32 開啟xxx.sln
      (直接用C++編輯 直接用visual studio的模擬器模擬(F5) )

  需要用Android測試時再開啟Eclipse 直接run建置好的專案
     (專案已跟所有修改好的檔案自動作連結)



9.D:\Android\cocos2d-x-3.2\build 的 cocos2d-win32.vc2012.sln
    裡面的項目cpp-tests 就包含所有功能展示,可以參考裡面的程式碼實作





 註1:
Cocos2dx_CreateProject.bat
新建一個純文字txt檔案,打完內容改為.bat執行檔
放於: D:\Android\project
之後直接執行 即可新建專案

內容:


@echo off
echo =============Cocos2D-x新建項目==============
set /p name=輸入項目名稱:

echo 項目名稱: %name%

echo 正在新建項目...

set pack=com.marco.

cocos new %name% -p %pack%%name% -l cpp

echo 新建完成.
pause





[Android開發] Cocos2d-x 資源蒐集





1.中文官方文件,大量教學
http://cn.cocos2d-x.org/

基礎介紹

場景,層(Scene,layer)
http://cn.cocos2d-x.org/tutorial/show?id=844

角色(Sprite)
http://cn.cocos2d-x.org/tutorial/show?id=1132

圖片動畫載入(使用SpriteFrameCache)

先以TexturePacker軟體將分散的小圖片製成一張大圖
產出的xxx.plist文件記錄每張圖片的座標跟名字
再使用SpriteFrameCache載入
http://cn.cocos2d-x.org/tutorial/show?id=1521


【part 1】遊戲主邏輯實現
【part 2】添加更强力的武器 -- 旋轉砲塔
【part 3】更猛的怪物和更多關卡



【cocos2d-x-3.10技術帖】cocos2d-x內功心法<第六層>  切換場景
【cocos2d-x-3.10技術帖】cocos2d-x內功心法<第九層>  動畫精靈的兩種方式


1.2 角色動畫

影格動畫&TexturePacker 實做
http://blog.ixxoo.me/animations-and-spritesheets-in-cocos2d-x.html

影格動畫
http://www.nafanlong.com/833.html

影格動畫
http://www.cocos.com/doc/tutorial/show?id=1347

原始測試檔
D:\Android\cocos2d-x-3.11\tests\cpp-tests\Classes\SpriteTest\SpriteTest.cpp

1.3 Action
http://www.cocos.com/doc/tutorial/show?id=2709
https://yq.aliyun.com/articles/39252


1.4 MoveTo
http://www.cocos.com/doc/tutorial/show?id=2535



2.綜合基本教學

Jian-Ching 學習筆記 繁中教學

Chapter 1 - How to Create a New cocos2d-x project
Chapter 2 - How to Add a sprite
Chapter 3 - How to Move a sprite
Chapter 4 - How to Fire some Bullets
Chapter 5 - How to Detect the Collisions
Chapter 6 - How to Play Music and Sound Effect


3.實例介紹


塔防
http://cn.cocos2d-x.org/tutorial/lists?id=81&per_page=9
http://cn.cocos2d-x.org/tutorial/lists?id=66&per_page=

FlappyBird分析
http://cn.cocos2d-x.org/tutorial/lists?id=88
http://www.voidcn.com/blog/u011373759/cata/2556919/

跑酷

2.0 http://blog.csdn.net/fylz1125/article/category/1204721/2
3.0 http://www.voidcn.com/blog/ZYY173533832/cata/2428359/list-3.html

一個都不能死
http://www.lai18.com/content/513216.html

趙雲要格鬥2.2.5
http://blog.csdn.net/Evankaka/article/category/2787805/2
趙雲要格鬥3.4
http://blog.csdn.net/cytzrs/article/category/2875597

製作射箭遊戲3.6
http://www.cocoachina.com/cocos/20150717/12633.html

cocos2dx3.2開發RPG《Flighting》http://www.cocoachina.com/bbs/read.php?tid-281182.html

4.技術文件與問題解決

http://my.oschina.net/Jacedy/blog?catalog=532378&p=6&temp=1473800930105

http://www.voidcn.com/blog/u013707014/list-2.html

http://www.cnblogs.com/msxh/category/745089.html

http://blog.csdn.net/cbbbc/article/category/2406477

http://www.cnblogs.com/tangyikejun/category/602899.html

版本較舊
http://blog.csdn.net/yanghuiliu/article/category/913515/4

基礎教學
http://shahdza.blog.51cto.com/2410787/d-2

http://blog.csdn.net/u012945598/article/category/1764935/3

http://blog.csdn.net/fylz1125/article/category/1204721/1

兩個案例 99特訓+橫板格鬥
http://codingnow.cn/cocos2d-x

角色跟怪物類別的解釋
http://watchmen.cn/portal.php?mod=view&aid=25

http://www.voidcn.com/blog/chenqiai0/cata/3012803/list-2.html

***
http://www.benmutou.com/archives/category/cocos2d-x

**
http://blog.csdn.net/honghaier/article/list/4

關東升
http://blog.csdn.net/tonny_guan/article/details/37562559




5.免費音效
http://www.freesound.org/

5.2.免費素材



6.UI原始碼
https://github.com/wasabeef/awesome-android-ui


7.C++教學

Vec2 二維向量座標
http://shahdza.blog.51cto.com/2410787/1550972

一些觀念
http://blog.csdn.net/cbbbc/article/details/38146547

2014年12月13日 星期六

[Android開發] Cocos2d-x 3.2 安裝建置

Cocos2d-x主要為遊戲引擎,用在遊戲開發,
其他工具比較可看這篇 App開發工具簡介


建置開發環境共需:

A部分:Android環境:
1.Java JDK : Android為Java語言,故須建置Java環境
2.ADT(Android SDK+Eclipse IDE) : Java語言的編輯工具以及Android的環境
3.Android NDK
*3b. appache ANT : 生成apk時會用到   (新版本似乎不需要)

B部分:Cocos2d-x環境:
4.Visual Studio : Cocos2d-x為C++寫成,故需編寫C++的工具
5.Python:生成Cocos2d-x專案時需要使用
6.Cocos2d-x : 主遊戲引擎


版本整理:

A部分:Android環境:
1.Java JDK : (jdk-7u71)
2.ADT(Android SDK+Eclipse IDE) :  (adt-bundle-20140702)
3.Android NDK :  (android-ndk-r9d)
*3b. appache ANT :  (apache-ant-1.9.4)

B部分:Cocos2d-x環境:
4.Visual Studio :  (VS2012)
5.Python: (python-2.7.9)
6.Cocos2d-x :  (Cocos2d-x 3.2)



以下開始安裝:

[Android開發]App開發工具簡介


App為電腦應用軟體(Application)的簡稱,主要使用在手持裝置上,如智慧型手機、平板電腦。

發展至今主要有三大陣營:

蘋果 Apple iOS
谷歌 Google Android
微軟 Microsoft Windows Phone (win8)


Android App 開發工具:

幾個Android上的開發工具比較:

Android SDK:官方開發工具 使用Eclipse3.6以上開發,或更新的Android Studio,使用語言為Java
Unity
Corona
Cocos2d-x : 前身為Cocos2d主要在開發ios上使用,之後由大陸的團隊編寫成給Android上使用
                    ,所使用語言為C++。
    Quick-Cocos2d : Cocos2d-x的lua語言版本,二次封裝並簡化了一些流程,以達到快速開發。
prettyPrint();