如何使用CocoStudio场景编辑器制作魔卡幻想
1?CocoStudio 場(chǎng)景編輯器
使用 CocoStudio 場(chǎng)景編輯器來(lái)創(chuàng)建游戲場(chǎng)景,其中包含游戲 UI 與動(dòng)畫(huà),來(lái)定制一個(gè)游戲主界面。
2?使用 CocoStudio 完成《魔卡幻想》場(chǎng)景編輯
對(duì)于環(huán)境的搭建使用,請(qǐng)參考之前的文章,或者實(shí)時(shí)關(guān)注?官方?最新版本的安裝使用方法。
2.1?UI 編輯器制作游戲主界面
創(chuàng)建項(xiàng)目(項(xiàng)目名稱:MysticalCard),并導(dǎo)入項(xiàng)目 UI 資源,添加 一圖片框設(shè)定背景圖片。注意在工具攔設(shè)置 “畫(huà)布” 的大小(如果需要),這將決定著你的設(shè)計(jì)分辨率,在運(yùn)行時(shí)還需要注意屏幕的適配問(wèn)題,如放大縮小,位置偏移等,視具體情況而定。
為界面添加 UI 元素,圖片框等,請(qǐng)根據(jù)自己的需要定制
實(shí)踐過(guò)程中的注意事項(xiàng)
添加控件時(shí)注意必要的屬性設(shè)置
控件的命名規(guī)范,這有助于我們今后在后臺(tái)編寫代碼獲取界面元素
可交互的控件的 “可交互屬性” 開(kāi)啟
2.2?建立關(guān)鍵幀動(dòng)畫(huà)
除了主界面一些必要的 UI 控件,我們還需要一個(gè) “對(duì)話框指示” 的動(dòng)畫(huà)效果。這是一個(gè)幀動(dòng)畫(huà)。
準(zhǔn)備工作。
如下圖所示:
打開(kāi) CocoStudio ,啟動(dòng) 動(dòng)畫(huà)編輯器
創(chuàng)建一個(gè)新的項(xiàng)目,后導(dǎo)入資源(在 “資源窗口” 中,點(diǎn)擊 “文件” 或者 “文件夾” 標(biāo)示,添加需要的素材資源)
在 “資源窗口中” 點(diǎn)擊關(guān)鍵幀動(dòng)畫(huà)的守幀圖片,拖動(dòng)至 “渲染窗口”
2.3?場(chǎng)景編輯器的 資源“整合”
使用 CocoStudio 可以很好的幫助游戲開(kāi)發(fā)過(guò)程中 分工合作。動(dòng)畫(huà)編輯器 和 UI 編輯器可以由多個(gè)人進(jìn)行編輯,最后再由一個(gè)人統(tǒng)合資源,這也就是場(chǎng)景編輯器的優(yōu)點(diǎn)了,它除了能支持 CocoStudio 本身所自帶的動(dòng)畫(huà)編輯器,UI 編輯器,它還能支持,Tmx 地圖資源,粒子編輯器的粒子效果資源,聲音資源等~并且不斷擴(kuò)展中。以下將給出如何在 場(chǎng)景編輯器整合我們之前所創(chuàng)建的動(dòng)畫(huà)與 UI 界面的資源,來(lái)實(shí)現(xiàn)我們一個(gè)場(chǎng)景的運(yùn)行效果。它的步驟如下:
1.啟動(dòng)場(chǎng)景編輯器,新建一個(gè)場(chǎng)景項(xiàng)目。并設(shè)置 “畫(huà)布” 大小。畫(huà)布大小要適量。
2.我們拖動(dòng)一個(gè) UI 控到畫(huà)布之上,它作為我們之前導(dǎo)出的 UI 資源的承載。
? ??
3.我們將之前的 UI 編輯器所導(dǎo)出的資源,導(dǎo)入到當(dāng)前場(chǎng)景項(xiàng)目中來(lái),導(dǎo)入方式與 UI 編輯器導(dǎo)入資源方式同樣,如下圖:? ??
?
4.為 UI 控件的 “文件” 屬性賦值:我們?cè)谫Y源視圖中找到 UI 編輯器所導(dǎo)出的 UI 資源,其目錄下包含 json 文件資源(如這里的 “MysticalCard_1.json”),將其拖動(dòng)到?
UI 控件的文件 屬性中去,如下圖所示:
前面的步驟已經(jīng)將 UI 資源導(dǎo)入場(chǎng)景之內(nèi),現(xiàn)在需要添加之前所創(chuàng)建的動(dòng)畫(huà)資源。
我們以相同的方式導(dǎo)入動(dòng)畫(huà)編輯器所導(dǎo)出的動(dòng)畫(huà)資源文件。
拖動(dòng)一個(gè)骨骼控件至場(chǎng)景界面,如下圖所示。
為骨骼控件的 “文件” 屬性賦值,其值為 動(dòng)畫(huà)資源中的 ExportJson(或者 json 文件,這取決于動(dòng)畫(huà)資源的導(dǎo)出方式) 文件。
3?在 Cocos2d-x 中加載場(chǎng)景資源 并運(yùn)行之
3.1?加載場(chǎng)景內(nèi)容
前面那么多步驟,使用 CocoStudio 來(lái)創(chuàng)建了 UI,動(dòng)畫(huà),還有一個(gè)場(chǎng)景,而要將其運(yùn)行在實(shí)際的項(xiàng)目中,就非常的簡(jiǎn)單與方便了,只需幾行代碼,就能夠?qū)⑵浼虞d到項(xiàng)目中去,當(dāng)然在這之前我們需要將場(chǎng)景編輯器的資源(場(chǎng)景項(xiàng)目目錄中 “Resources” 目錄,其中將包含一個(gè) json 文件)復(fù)制到項(xiàng)目資源目錄中去:
// 加載場(chǎng)景資源 CCNode *pNode = CCJsonReader::sharedJsonReader()->createNodeWithJsonFile("McScene.json"); this->addChild(pNode);通過(guò) CCJsonReader 來(lái)讀取解析 json,從而獲得場(chǎng)景中的節(jié)點(diǎn)內(nèi)容,直接添加到當(dāng)前的場(chǎng)景就能運(yùn)行。
3.2?在場(chǎng)景中播放動(dòng)畫(huà)
默認(rèn)加載的場(chǎng)景資源 動(dòng)畫(huà) 組件是沒(méi)有播放的,需要手動(dòng)獲取動(dòng)畫(huà)組件對(duì)象,然后調(diào)用其播放方法,當(dāng)然這個(gè)步驟也是非常簡(jiǎn)單的:
// pNode 為 之前所獲取的場(chǎng)景資源根節(jié)點(diǎn),通過(guò)此節(jié)點(diǎn)獲取到動(dòng)畫(huà)對(duì)象,獲取方式根據(jù)在場(chǎng)景編輯其中設(shè)置的層次關(guān)系而定 CCComRender *pLoadRender = (CCComRender*)(pNode->getChildByTag(1)->getChildByTag(1)->getComponent("CCArmature")); CCArmature* armLoad = (CCArmature*)(pLoadRender->getRender());// 播放動(dòng)畫(huà) armLoad->getAnimation()->playByIndex(0);3.3?對(duì)場(chǎng)景的一些編碼說(shuō)明
使用 CocoStudio 就是為了幫助我們快速的建立 UI 原型,然后通過(guò)編碼可以獲取到里面的任意一個(gè)元素對(duì)象,并修改其屬性值,調(diào)用其方法,正如上面所示播放一個(gè)動(dòng)畫(huà)的方法同樣。其步驟如下:
通過(guò) CCJsonReader 類讀取 json 文件,將會(huì)自動(dòng)解析構(gòu)建對(duì)象,返回一個(gè)節(jié)點(diǎn) CCNode
任何元素都能通過(guò)這個(gè) CCNode 節(jié)點(diǎn),獲取到,它其實(shí)就是一個(gè)樹(shù),所不同的是層級(jí)關(guān)系(樹(shù)節(jié)點(diǎn)的位置)
找到需要對(duì)象所在的 “樹(shù)枝”,后通過(guò) getComponent 方法獲取 所在的 CCComRender 對(duì)象
通過(guò) CCComRender 的 getRender 方法獲取最終對(duì)象
得到我們所需要的具體對(duì)象之后,我們就能夠?qū)R進(jìn)行草,設(shè)置屬性,調(diào)用方法等,諸如此類
來(lái)自:泰然
轉(zhuǎn)自:http://cocos2d.9tech.cn/news/2013/0925/29092.html
轉(zhuǎn)載于:https://blog.51cto.com/kenkao/1554709
總結(jié)
以上是生活随笔為你收集整理的如何使用CocoStudio场景编辑器制作魔卡幻想的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Laravel学习笔记(二)
- 下一篇: c语言结构体使用方法