最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

DH-SRPG 六:技能與效果實(shí)現(xiàn)

2023-07-28 20:41 作者:DH_DoveG  | 我要投稿

好久不見(jiàn)。說(shuō)起來(lái)戰(zhàn)棋游戲里一般都有技能

最近實(shí)現(xiàn)了技能的框架并更新了SelectManage。雖然還沒(méi)有固定下來(lái),但是然做了幾個(gè)技能來(lái)測(cè)試,感覺(jué)還不錯(cuò)?,F(xiàn)在來(lái)介紹一下,希望能給大家?guī)?lái)一些幫助。


技能框架:

首先技能與其它游戲一樣分為兩個(gè)大類(lèi):主動(dòng)技能被動(dòng)技能,它們分別有兩個(gè)調(diào)用的入口:

主動(dòng)技能:start

被動(dòng)技能:auto

這兩個(gè)方法都接收一個(gè)字典作為參數(shù)。

對(duì)于主動(dòng)技能,因?yàn)槭鞘謩?dòng)調(diào)用的,所以參數(shù)固定,而被動(dòng)技能因?yàn)槭窃诙喾N情況下都會(huì)調(diào)用所以參數(shù)內(nèi)容會(huì)有所不同,以下是目前的所有auto有的技能調(diào)用的參數(shù):

auto 參數(shù)一般有以下參數(shù)

"class": 大的種類(lèi)
"type": 小的種類(lèi)
"state": 狀態(tài)
"target": 目標(biāo),應(yīng)該是一個(gè)對(duì)象
"target_position": 目標(biāo)位置


戰(zhàn)斗時(shí)觸發(fā)

"class": "ATTACK" # 表示攻擊
"type": "ordinary" # 表示傷害類(lèi)型
"state": "START" # 表示攻擊狀態(tài),如果是攻擊結(jié)束時(shí)就是 "END"
"target": <unit> # 被攻擊的對(duì)象
"harm": <int> # 傷害值

使用例:/game/skills/s_double_attack_magic.tscn

該例子使用了這個(gè)參數(shù)來(lái)在攻擊結(jié)束時(shí)進(jìn)行一次附加攻擊:


可以看到,在auto方法中判斷了參數(shù)來(lái)確定是在攻擊結(jié)束并且滿足cost時(shí)調(diào)用。

技能演示


移動(dòng)時(shí)觸發(fā)

"class": "MOVE"

"start_position": Vector2 # 出發(fā)坐標(biāo)

"target_position": Vector2 # 目的地

"start_cell": 觸發(fā)的圖塊信息

"target_cell": 目的地的圖塊信息,可以利用這個(gè)來(lái)判別目標(biāo)區(qū)域,實(shí)現(xiàn)類(lèi)似于“走到草地上時(shí)hp+1”的技能

"path": 路徑數(shù)組

"index": 當(dāng)前的下標(biāo)

暫時(shí)沒(méi)有使用例子,不過(guò)感興趣可以參考其它技能來(lái)試著做一個(gè)類(lèi)似于迅捷步伐的效果:“移動(dòng)時(shí)充能,每移動(dòng)一格充能+1,達(dá)到6時(shí)會(huì)在強(qiáng)化下一次攻擊并為自己回復(fù)一定生命值?!?/p>

這應(yīng)該是一個(gè)auto類(lèi)型的效果,并判斷傳入?yún)?shù)的class是不是MOVE,是就index+1,然后如果達(dá)到目標(biāo)值就設(shè)置一個(gè)key值,然后auto在key為true時(shí)再檢測(cè)class是不是ATTACK且是STATE,這里可以增加額外效果,當(dāng)然,這個(gè)auto應(yīng)該還檢測(cè)ATTACK的END,如果需要在攻擊結(jié)束后根據(jù)實(shí)際照成的傷害來(lái)恢復(fù)生命值的話。


回合結(jié)束時(shí)調(diào)用
"class": "ROUND_END"
"user": 技能持有者,
"round_number": 回合數(shù)

使用例:/game/skills/s_rolling_currrent_attack_up.tscn

這是一個(gè)捏他VN的技能:翻滾并強(qiáng)化下一次攻擊,因?yàn)閺?qiáng)化攻擊擁有時(shí)效性所以有用到這個(gè)參數(shù),以下是部分代碼實(shí)現(xiàn):


在技能時(shí)效期間照成了4點(diǎn)傷害,而技能過(guò)期后回復(fù)成了3點(diǎn)傷害


SelectManage更新:

為了能更加好的配合Skill,做了一些更新。

現(xiàn)在加入了”層級(jí)“的概念:

layer里增加了許多回調(diào),也得益于回調(diào),很多效果得以順利實(shí)現(xiàn)。來(lái)看一下用到了clear_callable, move_callable, callable回調(diào)的技能例子:/game/skills/s_dark_explode.tscn


雖然說(shuō)技能還沒(méi)有確定下來(lái),但是已經(jīng)初見(jiàn)形狀了。下一個(gè)目標(biāo)是制作局域網(wǎng)聯(lián)機(jī)功能,這樣就完全從之前的舊項(xiàng)目遷移過(guò)來(lái)了,感謝您的關(guān)注。


致歉:因?yàn)轫?xiàng)目的更新隨時(shí)都有可能會(huì)破壞原有的代碼,您在看到此文時(shí)它可能已經(jīng)不是最新的了,請(qǐng)以現(xiàn)在項(xiàng)目的具體情況為準(zhǔn)。

歡迎大家給項(xiàng)目提Issues

項(xiàng)目地址:https://gitee.com/DH-DoveG/dh-srpg-demo

DH-SRPG 六:技能與效果實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
曲周县| 明星| 泽州县| 莲花县| 任丘市| 新郑市| 徐州市| 岳阳县| 乐山市| 灵寿县| 寿光市| 赤壁市| 蕉岭县| 民丰县| 武隆县| 陇川县| 普定县| 南阳市| 漳浦县| 辽宁省| 吴旗县| 山东| 马公市| 蕉岭县| 原阳县| 孝义市| 三台县| 平山县| 嘉义县| 南皮县| 和田市| 修武县| 安顺市| 乐清市| 镇宁| 浦北县| 宣城市| 新晃| 江阴市| 海安县| 玉田县|