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語言版本,二次封裝並簡化了一些流程,以達到快速開發。

2014年4月18日 星期五

3dsmax筆記-解決vray 陰影閃爍 shadow flicker





The easy way would be to switch primary bounce to brute force. Keep the light cache as secondary.

If you want it to render faster, I'd recommend this work flow.

1.1 IR primary and LC secondary for static objects.
1.2 bake IR map for static objects in 1 single map using "Add to current map" mode. Move your time line around so that the IR map would cover everything. Doesn't need to be every frame.
1.3 Once you have your IR map, switch to "from file" mode. Put your moving objects into a V-Ray object property. Have them cast shadows but don't receive/generate GI.
1.4 Render

2.1 Use brute force primary LC secondary for your moving objects.
2.2 This time put everything else in another V-ray object property. Make them a matte while generating and receive GI.
2.3 Render.




http://forums.cgsociety.org/archive/index.php/t-1133460.html

2014年2月11日 星期二

[Android] Android架站軟體 Servers Ultimate


Android架站程式 Servers Ultimate
在手機也可架站 web server, PHP ,FTP都有支援


https://play.google.com/store/apps/details?id=com.icecoldapps.serversultimate

2014年2月9日 星期日

免費網域 .tk .ml .twbbs.org 免費空間 OpenShift LionHost

頂級 免費網域

1.   .tk


2.  .ml
------------------------------------------------------------------------------------------------------

次級 免費網域

1.   .twbbs.org

------------------------------------------------------------------------------------------------------

免費架站空間

1.   OpeShift

網站名稱:OpenShift
網站網址:https://www.openshift.com/

參考資料:



2.   LionHost

中文

網站名稱:LionHost
網站網址:http://lionfree.net/




[隨筆] Android迷你主機,迷你系統


MK802


Android4.0.4 ICS
1G Ram
 CPU A10 架構 可改用 Linux

$1500 網拍看不到貨 (2014.02.09)

參考資料:



MK808B  較新


Android 4.2.2 

$1500 網拍 (2014.02.09)


MK908

四核心



魔米 M1-台灣

(天臥科技) 

網拍 $2000


鑿子 C1

----------------------------------
電視盒的形式(散熱較好),方塊型
RK3188,1GB RAM
150M WIFI、藍芽 4.0、HDMI、2xUSB
TF 卡槽
有 RJ45 網孔
有音源輸出孔
電源開關(? 不明)
人民幣 299(約台幣 1500)

低價機種,客廳電視純看影片、直播用

註:

瑞蕊微 RK3188 處理器,4核心
安兔兔約 1萬6千分
(2013今年,下半年主流)

瑞蕊微 RK3066 處理器,2核心
安兔兔約 8~9千分
(去年產品,對岸早已淘汰不用的)

2014年1月9日 星期四

3dsmax安裝後設定&必裝插件


3dsmax設定

  1. 單位設定為公尺
  2. 底色 (2011後預設已為深色介面)
  3. 快捷按鈕,選單設定
  4. 材質球
  5. 設定Vray為預設算圖器

必裝插件 (plugin/maxscript)

  1. copy/paste 快速複製貼上物件  http://www.scriptspot.com/3ds-max/scripts/copypaste-0
  2. interactiveRenamer 快速命名
  3. Relink-Bitmaps-v2.05 -外掛-重連遺失貼圖
  4. Vray
  5. Multiscatter

選擇性安裝插件

  1. ThinkingParticle
  2. FumeFx
  3. Krakatoa
  4. XMesh
  5. CityTraffic
  6. RPC

2014年1月8日 星期三

ThinkingParticle-VolumeBreak-二次破碎

ThinkingParticle-VolumeBreak-二次破碎



系統安裝後常用工具



Win7設定:
視窗排列


軟體:


  1. Chrome免安裝
  2. Pcman免安裝
  3. Winamp免安裝
  4. ClassicShellSetup_3_1_0_Win7按鈕
    • 安裝完載入xml設定檔
  5. fence 桌面圖示整理


prettyPrint();