導航:首頁 > 程序命令 > cocos命令創建

cocos命令創建

發布時間:2024-02-28 11:48:58

① 怎樣製作基於Cocos2d-x的SLG游戲

創建項目

如果要說到環境搭建,那又該是一篇長篇大論了,所以這里我就不說了,不清楚的同學到網上問度娘吧,會有很多不同系統不同版本搭建的結果的。

Cocos2d-x創建項目的方式一直都在不停的改動,所以這里我覺得很有必要給大家介紹下如何創建項目。

創建3.2的項目其實很簡單,打開終端(Windows是cmd)進入到引擎文件夾目錄,然後輸入以下命令就可以創建。

cocos new SLG -p com.cocos2dx.rs -l cpp -d /Users/cocos2d-x/workspace/cocos2dx/cocos2d-x-3.2/projects
如下圖:

p1

說明:

new:new後是項目名
-p :-p後是包名
-l :-l後是語言(cpp指c++)
-d :-d後是項目生成路徑
如果一切無誤,那等待幾分鍾以後你就可以在給定的目錄下找到新建的項目了。打開項目工程後,下面我們就可以開始游戲的製作了。

前期准備

打開工程後,運行程序,你會發現它不是一個空的項目,在Classes和Resource文件夾下Cocos2d-x已經給出了一些實質性的東西,當然這些不是一定都有用的,它們存在的目的是為了給我們展示一個典型的Cocos2d-x的例子。

除了AppDelegate.h 和 AppDelegate.cpp文件,這兩個文件夾下其他的東西都是可被刪除的(不過在刪除之前,可以先看一下HelloWorld類,了解下它的類結構、類方法,以便對Cocos2d-x進行初步的學習,也方便初學者依葫蘆畫瓢再寫一個類似的場景)。AppDelegate類是創建項目時自動生成的一個類,它控制著游戲的生命周期,是Cocos2d-x游戲的通用入口文件,類似於一般 Windows 工程中main函數所在的文件。

打開AppDelegate.cpp文件,在游戲載入期的最後一個applicationDidFinishLaunching()函數中我們可以設置第一個啟動的游戲場景,如下:

auto scene = GameScene::createScene();
director->runWithScene(scene);
GameScene是我們新建的一個游戲場景,下面會講解。

解析度適配

在我的游戲中,首先第一件事還是做解析度適配,這是個恆古不變的定律。現如今市場中各種屏幕尺寸和解析度的移動設備層出不窮,為了更好地適應這些設備,游戲的解析度適配是十分有必要的。

在農場游戲中,很最要的一點就是實現大地圖背景的拖動、放大縮小等操作,所以可想而知,我們的地圖不是全部都顯示在屏幕內的,也就是說,我們不能像之前的方式那樣把整個顯示內容做適配,我們應該留有一定的邊距供玩家拖動。如下圖所示:

p2

同樣是在applicationDidFinishLaunching函數中,我們添加如下一段代碼對游戲做解析度適配,以便它能更好的適應不同的運行環境。

glview->setDesignResolutionSize(480.0f, 320.0f, ResolutionPolicy::FIXED_HEIGHT);
std::vector searchPath;
searchPath.push_back("H_1920");
FileUtils::getInstance()->setSearchPaths(searchPath);
director->setContentScaleFactor(1440.0f / 320.0f);
解析度適配的原理,建議大家閱讀一下:Cocos2d-x 多解析度適配完全解析這篇文章,雖然它不是針對最新版Cocos2dx引擎,但它還是能很清楚的告訴你解析度適配的原理和方法。

還有要說明的一點是,我們的游戲地圖的高為1920,解析度適配時則只設為了1440,意思就是說,我們本該全在屏幕內的內容留出了4分之一的高度在屏幕外。

編輯游戲地圖

模擬經營游戲中,游戲地圖多為拼接而成,這里我們用瓦片地圖編輯器(Tiled Map Editor)來製作游戲的地圖,它可以把編輯後的地圖文件保存為TMX格式的文件,能被Cocos2d-x很好的支持。瓦片地圖(Tile Map)不但生成簡單,而且可以靈活的用於引擎中。關於瓦片地圖的介紹可參考瓦片地圖一文。

接下來我們開始創建地圖。

運行TiledMap編輯器,新建一個地圖文件。填寫如下對話框:

p3

在地圖方向選項內,可以選擇正常、45度(傳說中的2.5D)和45度交錯,這里我們選擇45度。接下來需要設置地圖大小,這里的數值是指有多少格tile元件,並不是像素,這里我們選擇30×30的地圖。

最後是確定tile元件的大小,根據美工提供的地面元件大小設置,這個教程里,我們使用128×64的大小。

在地圖大小一欄中,你可以看到最終的地圖大小為3840 * 1920。

點擊確認之後,你可能已經發現了,這個游戲地圖它是菱形的,如下圖所示。

p4

這里你可能會想,為什麼要菱形的啦,選擇45度交錯建一個接近矩形的不行嗎?呵呵,其實這樣也是可以的,只不過啦,Cocos2d-x引擎中默認是不支持45度交錯的,如果需要在引擎中載入這種交錯的地圖必須自己修改引擎代碼(看到這,是不是整個人都不好了),而且在修改過後還不能正確的得到地圖的大小,需要自己編寫計算大小的公式代碼。鑒於這一點,我在想,難道《全名農場》、《請叫我海盜》等游戲地圖的四個角都不能被點擊操作都是因為這個原因嗎? 哈哈,就當是我想多了吧。其實菱形就菱形吧,其他的游戲也都這樣,可以在菱形地圖的下層貼一層背景來掩蓋這一現象。

接下來,我們還是回到正題開始拼接地圖吧。選擇地圖-》新圖塊,然後填寫如下所示的對話框。

p5

選擇瀏覽按鈕,將准備好的圖塊文件載入編輯器。接著設置圖塊的寬度和高度(默認情況下是一個tile元件的大小,但),根據圖塊文件中圖塊的大小來設置。邊距、間距什麼的,可不做修改,0就好。

最後選中相應的圖塊,拖動到渲染區拼一個理想的地圖。

p6

暫時我們就只簡單的拼一個地圖就可以了,後面再根據游戲需要,設置一些必要的對象和屬性。

載入地圖資源

新建一個GameScene場景,載入游戲地圖。不過在此之前,請把編輯好的tmx和圖塊文件拷貝到Resource文件夾下。GameScene的結構和HelloWorld差不多,照著HelloWorld類依葫蘆畫瓢就可以建一個。你可以先看看它是如何實現的,再實現自己的類。這里就不多說了。

在Cocos2d-x中使用TMX,有以下流程供你參考:

首先用地圖編輯器編輯你的地圖,導出成TMX 格式。
將導出的TMX 文件和相關圖片放在工程的Resoure文件夾下。
使用Cocos2d-x中TMXTileMap 類的create方法創建地圖對象,TMX 文件的解析是引擎內部完成的,所以我們不需要擔心。TMXTileMap 是Node 的子類,因此只要添加到場景中即可。
通過TMXTileMap,可以獲得其他相關對象,比如單個瓦片(屬Sprite類),比如對象組(ObjectGroup類),比如層(TMXLayer類)等;你可以通過TMXLayer類修改,刪除或者添加某個網格位置的瓦片,這樣可以動態的修改地圖了,你還可以進行其他的操作,相關的API 我們後面使用到了再做講解。
在GameScene類的init函數中添加如下的代碼創建游戲地圖:

mapLayer = LayerColor::create(Color4B(78,127,41,255));
this->addChild(mapLayer,-1);

auto map = TMXTiledMap::create("mymap4.tmx");
mapLayer->setContentSize(map->getContentSize());
mapLayer->addChild(map, 10);

auto treeSprite = Sprite::create("1.png");
treeSprite->setAnchorPoint(Vec2(0, 0));
treeSprite->setPosition(Vec2(0, 0));
treeSprite->setScale(2);
mapLayer->addChild(treeSprite, 11);
代碼中新建了一個帶顏色的背景層,背景層的尺寸等於載入的TMX地圖大小。接著把地圖和如下的一個遮蓋層(其實就是為了防止菱形的地圖看起來那麼突兀而添加的一層)依次添加到層上。

② 如何在win7上搭建android cocos2d-x-3.3開發環境

android平台工程創建

1、android SDK+NDK安裝

1)、安裝java jdk(如果已經安裝了,可以不用此步驟)

進入:http://www.oracle.com/technetwork/java/javase/downloads/index.html或者直接點擊下載。如下圖

(7)安裝完成後,點擊Yes按鈕,重啟Eclipse。

選擇android SDK解壓後的目錄(ADT 18 默認會掃描電腦,找到並配置好SDK位置)。

配置cygwin

在命令行中進入cygwin目錄,並執行cygwin.bat,如果不是用Administrator賬號登錄的系統,那麼會在cygwinhome文件夾中生成一個以登錄名命名的新的文件夾。

修改新生成文件夾中的「.bash_profile 」文件,用UE或editplus等文本編輯器打開,在最後增加: (e/android-ndk-r8-windows/android-ndk-r8是安裝ndk的路徑)

NDK_ROOT=/cygdrive/e/android-ndk-r8-windows/android-ndk-r8

export NDK_ROOT

然後保存關閉。

至此便基本搭建完畢cocos2d-x的windows 7 android 環境

③ CocosCreator教程(入門篇)

自動釋放資源: 切換場景後,上一個場景中的資源,從內存中釋放。
延遲載入資源: 意味著不用等待所有資源載入完畢,才顯示場景。(快速切換場景,資源陸續在畫面顯示)

普通圖,子層為一張spriteFrame。

創建方式:拖拽場景節點,到資源管理器。

精靈圖,子層為多張spriteFrame。(精靈圖合成軟體:TexturePacker、Zwoptex)

打包時,將所在目錄中的所有碎圖,合成為圖集。

數字為內容的圖集。

動態字體:.ttf
點陣圖字體:.fnt + .png(存在於同一目錄)

小型動畫

模式: web audio、dom audio

操作流程:
(1)導出:文件 => 資源導出,選擇 .fire場景文件,輸出assets目錄的 .zip壓縮包。
(2)導入:文件 => 資源導入,選擇壓縮包源路徑、解壓路徑,輸出assets目錄內容。

基於size mode,盡量去除spriteFrame無像素的部分,減小圖片尺寸。

作用: 用於變換、子節點定位基準。

對攝像機、渲染組件的了解。

對widget、layout等UI組件的了解。

(1)創建動畫的基本流程
(2)時間曲線(雙擊動畫線,進入編輯窗口)
(3)事件管理(雙擊游標、加減按鈕控制參數個數)
(4)腳本控制

碰撞組件(普通碰撞)
(1)editing——是否為編輯模式
(2)regenerate points——計算圖形邊界,自定生成控制點,數值為控制點的生成密度 / 准確度
(3)ctrl + 點擊——刪除控制點
(4)組件類型:矩形、圓形、多邊形
(5)設置碰撞組(項目 => 項目設置 => 分組設置):
制定分組 => 匹配分組 => 碰撞組件所在節點上,設置所屬分組
(6)腳本控制

Box2D物理引擎(高級碰撞)

(1)audioSource組件
(2)腳本控制

(1)定義 CCClass

(2)實例化

(3)判斷類型

(4)構造函數(ctor)

(5)實例方法

(6)繼承(extends)

(7)父構造函數

(8)完整聲明屬性

properties常用參數

(1)獲得組件所在的節點

(2)獲得其它組件

(3)獲得其它節點及其組件

(4)訪問已有變數里的值(通過模塊訪問)

(1)節點狀態和層級操作

(2)更改節點的變換(位置、旋轉、縮放、尺寸)

(3)顏色和不透明度

(4)常用組件介面
cc.Component 是所有組件的基類,任何組件都包括如下的常見介面:

(1)創建新節點

(2)克隆已有節點

(3)創建預制節點

(4)銷毀節點

(1)載入和切換

(2)通過常駐節點,進行場景資源管理和參數傳遞

(3)場景載入回調

(4)預載入場景

(1)資源屬性的聲明

(2)靜態載入(在屬性檢查器里設置資源)

(3)動態載入

(4)載入遠程資源和設備資源

(5)資源的依賴和釋放

(1)監聽事件

(2)關閉監聽

(3)發射事件

(4)派送事件

(5)事件對象(回調參數的event對象)

(1)滑鼠事件類型和事件對象

(2)觸摸事件類型和事件對象

(3)其它事件

(1)動作控制

(2)容器動作

(3)即時動作

(4)時間間隔動作

(5)動作回調

(6)緩動動作

(1)XMLHttpRequest——短連接
(2)WebSocket——長連接

對象池的概念
在同一場景中,需要多次進行節點的生成、消失時,假如直接進行創建、銷毀的操作,就會很浪費性能。因此,使用對象池,存儲需要消失的節點,釋放需要生成的節點,達到節點回收利用的目的。

工作流程
(1)初始化對象池

(2)從對象池請求對象

(3)將對象返回對象池

清除對象池

閱讀全文

與cocos命令創建相關的資料

熱點內容
androidgridview表格 瀏覽:602
壓縮怎麼eq閃 瀏覽:740
流密碼演算法openssl 瀏覽:262
怎麼數黃豆個數python 瀏覽:799
混沌序列加密的結論 瀏覽:224
最新脫單app哪個好 瀏覽:638
如何用自己電腦做伺服器做網頁 瀏覽:140
伺服器安全配置要考什麼證書 瀏覽:633
ipadpro可以編程 瀏覽:541
外國的程序員和中國的程序員 瀏覽:151
抖音小店app如何聯系客服 瀏覽:975
linux打開多個終端 瀏覽:500
linux中的命令 瀏覽:580
優化小米6相機演算法 瀏覽:259
ak47pdf 瀏覽:150
人與文化pdf 瀏覽:640
原子幣app在哪裡注冊的 瀏覽:530
php數組保存文件 瀏覽:226
無理的命令 瀏覽:510
問道手游解壓失敗是什麼原因 瀏覽:776