aaa亚洲精品_国产精品久久久久久久久晋中 _亚洲午夜精品久久久久久久久_欧美成人免费网_性欧美xxxx_日本一区二区免费在线_成年人国产精品_99热在这里有精品免费_国产欧美日韩中文字幕_91精品国产综合久久香蕉麻豆

您的位置:首頁 >觀察 > 正文

每日速看!DH-SRPG 三:單位的出戰(zhàn)與部署

大多數(shù)戰(zhàn)棋游戲都有予玩家在戰(zhàn)斗開始前根據(jù)游戲的局勢對作戰(zhàn)單位的挑選以及位置部署的能力,本項(xiàng)目也是如此的。現(xiàn)在來看看在本項(xiàng)目中的單位出戰(zhàn)功能與部署功能是如何實(shí)現(xiàn)的。

這是單位挑選場景的節(jié)點(diǎn)結(jié)構(gòu)的折疊圖(完整的節(jié)點(diǎn)樹見文章末尾),有6部分:

(注:CR為custom_這個場景的縮寫,沒有實(shí)際意義)


【資料圖】

TitleCR:顯示標(biāo)題

UnitInfo: 顯示Pointer指向的單位的信息。

InfoCR:顯示如已出戰(zhàn)人數(shù)等信息

UnitList:單位的列表,用來顯示單位的圖像與名字等縮略信息,該節(jié)點(diǎn)下面有一個TempUnitItem的單位模板

Items:顯示功能選項(xiàng),如“出擊”和”觀察“選項(xiàng)在這個節(jié)點(diǎn)下

Pointer:一個用來顯示現(xiàn)在選中的項(xiàng)的框

屬性:

start:這個方法用于啟動并接受一個單位數(shù)組來設(shè)置這個場景。該方法由上一節(jié)介紹的Scene調(diào)用,單位數(shù)組就是由Scene的create_units方法提供的。

下面來是對于輸入事件的處理

這里面做了兩件事,一是在不同狀態(tài)下的切換操作二是根據(jù)模式分配輸入事件給不同的方法處理。

然后是對輸入事件的一個攔截控制,因?yàn)樵凇坝^察模式”下,Scene的指針是需要接受得到輸入事件來移動與查看場景信息的所以在“觀察模式”不會攔截輸入事件,而不是“觀察模式”時,面板是顯示的,不希望Scene的指針接受到輸入事件來移動哦,所以需要用get_viewport().set_input_as_handled()方法來攔截輸入事件阻止它繼續(xù)傳遞。

_btn_list_move:處理Pointer在Items上的移動與點(diǎn)擊,

在這個方法中,“出擊”匹配項(xiàng)會發(fā)出了一個"depart_signal"信號,這個信號表示要開始進(jìn)行戰(zhàn)斗并代表玩家已經(jīng)挑選好了出戰(zhàn)的成員。這個信號在Scene節(jié)點(diǎn)進(jìn)行連接:

可以看到這個游戲的開始由depart_signal這個信號決定的,這個lambda里面做了一些準(zhǔn)備工作,例如關(guān)閉挑選界面的UI以及將我們挑選的這些單位的控制權(quán)交給玩家(其他沒有挑選的單位都是沒有控制權(quán)的)并將這些單位加入UnitManage來進(jìn)行單位注冊。

_unit_list_move:處理Pointer在單位列表上的移動與點(diǎn)擊

可以看到這兩個方法的邏輯與是大致相同的。

在發(fā)出"add_unit_signal"添加信號與"remove_unit_signal"刪除信號時,都會由Scene節(jié)點(diǎn)的子節(jié)點(diǎn)Deploy處理。這個信號在Scene的_ready方法中進(jìn)行連接:

Deploy:部署點(diǎn),部署點(diǎn)是在挑選出戰(zhàn)成員時可供單位部署的位置。

上一節(jié)有簡要的概括。現(xiàn)在來詳細(xì)看一下Deploy的使用方法。要使用Deploy需要先給它添加任意個有position屬性的節(jié)點(diǎn)作為子節(jié)點(diǎn)。

它根據(jù)子節(jié)點(diǎn)來決定可選位的數(shù)量與位置。

在制作關(guān)卡時,只需要給它添加Sprite節(jié)點(diǎn)(其他的也可以)來決定部署點(diǎn)的位置。

不過目前部署點(diǎn)是在運(yùn)行時決定的,如果需要多次使用Deploy與要在游戲過程中改變Deploy需要對這部分進(jìn)行調(diào)整(后續(xù)應(yīng)該會進(jìn)行調(diào)整)。

Scene將PreparePlan的add_unit_signal與remove_unit_signal信號都交由Deploy進(jìn)行處理,它們的實(shí)現(xiàn)很簡單,就是遍歷positions找到?jīng)]有使用的位置就進(jìn)行設(shè)置,或者找到要刪除的unit就進(jìn)行刪除

在觀察模式下進(jìn)行單位位置的調(diào)整

上面在PreparePlan的_btn_list_move方法中有提到“觀察模式”,在加入觀察模式時,PreparePlan顯示的節(jié)點(diǎn)將發(fā)生變化,它會隱藏部分面板,并且不再阻止輸入事件的傳遞。這將允許玩家操作Scene的Pointer來操作部署點(diǎn)與查看敵方的棋子信息。

這時Scene將會根據(jù)Deploy的顯示狀態(tài)來將Pointer點(diǎn)擊事件交給Deploy處理

deploy的pointer_callable方法會在沒有選中unit時嘗試進(jìn)行選中,在已經(jīng)選中unit時會嘗試進(jìn)行位置交換

這一系列的組合的效果:

在調(diào)整好位置后,就可以開始戰(zhàn)斗了。

總結(jié)

PreparePlan決定出戰(zhàn)單位,Deploy決定單位的位置。PreparePlan與Deploy之間沒有直接聯(lián)系,由Scene作為橋梁。這得益于Godot的信號機(jī)制。

在創(chuàng)建新關(guān)卡時,只需要給Deploy添加擁有位置屬性的子節(jié)點(diǎn)即可。而最大出戰(zhàn)人數(shù)則需要在PreparePlan的檢查器中調(diào)整,需要勾選“子節(jié)點(diǎn)可編輯”選項(xiàng)。

下一節(jié)我們將介紹一下用于管理單位的UnitManage,看它是如何管理Unit的行動的。

致歉:因?yàn)轫?xiàng)目的更新隨時都有可能會破壞原有的代碼,您在看到此文時它可能已經(jīng)不是最新的了,請以現(xiàn)在項(xiàng)目的具體情況為準(zhǔn)。歡迎大家給項(xiàng)目提Issues項(xiàng)目地址:/DH-DoveG/dh-srpg-demo

關(guān)鍵詞

熱門資訊

aaa亚洲精品_国产精品久久久久久久久晋中 _亚洲午夜精品久久久久久久久_欧美成人免费网_性欧美xxxx_日本一区二区免费在线_成年人国产精品_99热在这里有精品免费_国产欧美日韩中文字幕_91精品国产综合久久香蕉麻豆
国产欧美一区二区精品婷婷| 在线亚洲高清视频| 91精品国产欧美日韩| 一区二区成人在线| 色视频一区二区| 综合分类小说区另类春色亚洲小说欧美| 男男成人高潮片免费网站| 丁香亚洲综合激情啪啪综合| 中文字幕免费不卡| av中文字幕不卡| 亚洲图片欧美色图| 欧美日免费三级在线| 欧美mv日韩mv国产| 国产aⅴ精品一区二区三区色成熟| 国产在线精品免费| 亚洲制服丝袜在线| 91在线精品秘密一区二区| 日韩精品午夜视频| 欧美日本精品一区二区三区| a级精品国产片在线观看| 奇米一区二区三区av| 国产精品免费丝袜| 成人av片在线观看| 伊人夜夜躁av伊人久久| 国产亚洲一区字幕| 欧美精品三级在线观看| 亚洲电影你懂得| 欧美日韩在线播放三区| 亚洲成人自拍偷拍| 亚洲成av人片观看| 国产精品区一区二区三| 欧美精品少妇一区二区三区| 国产精品免费久久久久| 日韩小视频在线观看专区| 日韩免费一区二区| 欧美激情一区三区| 亚洲国产精品久久艾草纯爱| 欧美精彩视频一区二区三区| 欧美一区二区三区四区五区| 国产精品系列在线播放| 国产精品乱码一区二三区小蝌蚪| 国产精品国产三级国产aⅴ原创 | 国产91精品一区二区麻豆亚洲| 久久99久久精品欧美| 午夜欧美一区二区三区在线播放| 中文字幕五月欧美| 亚洲国产精品一区二区www| 一级日本不卡的影视| 国产精品夫妻自拍| 亚洲视频一区在线观看| 亚洲伦理在线精品| 亚洲一级不卡视频| 亚洲国产视频一区| 国产91精品一区二区麻豆网站| 成人少妇影院yyyy| 99精品欧美一区二区三区综合在线| 91色九色蝌蚪| 欧美日韩国产综合视频在线观看| 91啪亚洲精品| 色综合天天综合在线视频| 91论坛在线播放| 91麻豆视频网站| 亚洲国产精品t66y| 日韩电影网1区2区| 青青草伊人久久| 国产福利一区二区三区| 国产成人日日夜夜| 91看片淫黄大片一级在线观看| 亚洲精品一区二区三区蜜桃下载| 亚洲成人动漫av| 欧美日韩在线免费视频| 国产精品不卡一区二区三区| 国产欧美日韩精品a在线观看| 国内外成人在线| 欧美国产日韩精品免费观看| 国产一区二区影院| 久久久综合视频| 久久五月婷婷丁香社区| 亚洲视频一区在线| 蜜乳av一区二区| 日本高清成人免费播放| 欧美日韩第一区日日骚| 亚洲人成在线观看一区二区| 亚洲一二三四在线| 91极品视觉盛宴| 亚洲欧美日韩中文播放| 美女爽到高潮91| 久久精品一区二区三区不卡牛牛| 国产a级毛片一区| 亚洲国产高清aⅴ视频| 国产老妇另类xxxxx| 久久嫩草精品久久久精品| 日韩av电影天堂| 欧美三级三级三级| 一区二区三区 在线观看视频| 激情伊人五月天久久综合| 精品美女被调教视频大全网站| 爽好多水快深点欧美视频| 粉嫩在线一区二区三区视频| 日韩综合一区二区| 日韩免费观看高清完整版| 日本sm残虐另类| 一区二区三区免费看视频| 欧美一区二区三区四区在线观看| 一区二区三区高清| **欧美大码日韩| 久久久一区二区三区| 精品亚洲免费视频| 欧美性xxxxx极品少妇| 日韩三级高清在线| 日韩一区二区三区av| 欧美日韩日日夜夜| av在线不卡电影| 性欧美大战久久久久久久久| 99视频超级精品| 欧美在线观看你懂的| 91丨porny丨最新| 精品一区二区免费| 亚洲丶国产丶欧美一区二区三区| 色呦呦一区二区三区| 国产精品一区二区视频| 欧美日韩在线精品一区二区三区激情 | 国产精品久久久久一区二区三区| 日韩一级完整毛片| 欧美视频精品在线观看| 国产精品一区在线观看乱码| 亚洲成av人片一区二区三区| 亚洲婷婷在线视频| 精品国偷自产国产一区| 欧美人与性动xxxx| 成人禁用看黄a在线| 亚洲综合久久久| 日韩午夜激情免费电影| 欧美在线啊v一区| 91精品国产91久久久久久一区二区| 国产999精品久久| 青青草91视频| 136国产福利精品导航| 91精品国产综合久久久久久漫画 | 日韩一级二级三级精品视频| 中文av一区特黄| 日本不卡一二三区黄网| 极品美女销魂一区二区三区免费| 一区二区国产视频| 亚洲夂夂婷婷色拍ww47| 欧美videossexotv100| 欧美videos大乳护士334| 91精品国产麻豆国产自产在线| 亚洲国产精品成人久久综合一区| 精品国产乱码久久久久久免费| 91精品婷婷国产综合久久| 色网站国产精品| 91视频国产资源| 岛国一区二区三区| 国产在线不卡视频| 九九精品视频在线看| 国产精品一区二区三区网站| 国产伦精品一区二区三区在线观看| 丝袜亚洲另类欧美综合| 成人国产精品免费| 99久久精品情趣| 欧美精品视频www在线观看| 国产欧美一区二区精品性| 91久久国产最好的精华液| 欧美日韩国产a| 欧美tickling挠脚心丨vk| 国产精品免费视频观看| 国产精品国产三级国产a| 激情综合五月婷婷| 欧美三级电影在线观看| 亚洲欧美日韩国产另类专区| 成人亚洲精品久久久久软件| 中文字幕av不卡| 国产综合成人久久大片91| 欧美日韩精品久久久| 国产精品青草久久| 国产一区视频在线看| 欧美大片拔萝卜| 日韩成人av影视| 91.com在线观看| 亚洲人午夜精品天堂一二香蕉| 激情小说亚洲一区| 欧美私人免费视频| 国产情人综合久久777777| 国产视频一区在线观看| 国产91精品精华液一区二区三区| xnxx国产精品| 91免费版在线| 精品影院一区二区久久久| 中文字幕在线不卡视频| 欧美日韩午夜精品| 成人免费看的视频| 亚洲高清在线精品| 久久精品一区二区三区av| 99国产精品久久久久| 日韩欧美不卡在线观看视频| 琪琪一区二区三区| 亚洲黄色尤物视频| 亚洲国产精品v| 精品国产在天天线2019|