日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

如何使用CocoStudio场景编辑器制作魔卡幻想

發(fā)布時(shí)間:2025/7/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用CocoStudio场景编辑器制作魔卡幻想 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


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)至 “渲染窗口”

    將第一關(guān)鍵幀拖動(dòng)至 “渲染窗口” 中心。 可以使用工具欄,快速定位至窗口中心,使圖片顯示在正中間,可以讓動(dòng)畫(huà)更好的定位。添加其它幀圖片,注意,我們需要選中剩余圖片,然后 “拖動(dòng)” 到 “對(duì)象結(jié)構(gòu)” 視圖中的 “第一關(guān)鍵幀” 所在的對(duì)象,如下圖所示。關(guān)鍵幀 與 骨骼動(dòng)畫(huà)操作區(qū)別:在使用骨骼動(dòng)畫(huà)的時(shí)候,我們將骨骼中的各部分元素,直接拖動(dòng)添加到 “渲染窗口”,以擺放各骨骼的位置關(guān)系,而在 “對(duì)象結(jié)構(gòu)” 視圖中則表現(xiàn)為,一個(gè)列表,標(biāo)示著每一塊骨骼對(duì)象,不同幀所改變的是各個(gè)骨骼對(duì)象的位置,以達(dá)到骨骼動(dòng)畫(huà)效果。而在關(guān)鍵幀動(dòng)畫(huà)中,它的對(duì)象結(jié)構(gòu)只有一個(gè),而在每一幀修改的不是其位置,而是其顯示內(nèi)容。這是兩者之間的區(qū)別,那操作方式也有所不同。而對(duì)于它們所導(dǎo)出的 資源 則是相同,用法也是同樣。剩余幀添加之后,我們看見(jiàn)在 “關(guān)鍵幀” 視圖中,已經(jīng)有了多幀動(dòng)畫(huà),可以播放動(dòng)畫(huà),查看效果,并可以通過(guò)修改 “速率” 來(lái)控制動(dòng)畫(huà)的播放速度。導(dǎo)出動(dòng)畫(huà)資源,導(dǎo)出的資源文件可以被我們?cè)?Cocos2d-x 中以代碼的方式直接加載,然后播放其動(dòng)畫(huà),也可以作為 場(chǎng)景編輯器中的一個(gè)元素,被添加在場(chǎng)景編輯器里,后面的內(nèi)容就是使用 場(chǎng)景編輯器來(lái)加載一個(gè)動(dòng)畫(huà)的方式。

    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)出方式) 文件。

    運(yùn)行效果:當(dāng)我們建立好場(chǎng)景之后,可以通過(guò)工具欄運(yùn)行按鈕,點(diǎn)擊查看效果,這意味著你不用將所有的資源文件,手動(dòng)以代碼的方式添加到 Cocos2d-x 中,便能看到效果。在運(yùn)行效果中,所有的控件都是可操作的,如下圖,但這里只有點(diǎn)擊效果,如果需要實(shí)現(xiàn)其邏輯,那么現(xiàn)在需要將其加載到 Cocos2d-x 項(xiàng)目中,編寫后臺(tái)代碼實(shí)現(xiàn)。

    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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。