新元的無(wú)名殺擴(kuò)展教程(一)技能_11 事件與set函數(shù)
前言
在之前10期,我們已經(jīng)了解了很多與trigger類(lèi)技能相關(guān)的內(nèi)容,這期是trigger類(lèi)技能教學(xué)的最后一期,接下來(lái)會(huì)有2~3期的主動(dòng)技講解,這之后,技能的所有講解內(nèi)容就結(jié)束了,不定期的更新將會(huì)轉(zhuǎn)向解釋技能。本期中,將會(huì)講到一些函數(shù)的等價(jià)寫(xiě)法。就是說(shuō)不用在小括號(hào)里填東西,而直接
事件
事件及事件的觸發(fā)
我們把摸牌,棄牌,用牌,恢復(fù)體力,失去體力,造成傷害,摸牌階段,棄牌階段等等稱(chēng)作一個(gè)事件。
比如,我們都知道,摸牌的函數(shù)是
player.draw()
這就是一個(gè)事件。事件就可以觸發(fā)對(duì)應(yīng)觸發(fā)器的技能。
比如,如果我們的技能觸發(fā)時(shí)機(jī)設(shè)置為摸牌。
trigger:{
player:'drawBegin'
},
當(dāng)我們執(zhí)行了函數(shù):player.draw()后,就會(huì)觸發(fā)帶有trigger:{player:"drawBegin"},的技能
以上就是對(duì)于事件和觸發(fā)事件的說(shuō)明。
事件的數(shù)據(jù)表
我們根據(jù)經(jīng)驗(yàn)可以知道,content函數(shù)中的trigger是和事件有關(guān)的對(duì)象。
還是以剛才的摸牌事件和觸發(fā)器為摸牌的技能為例,
這時(shí),在技能content函數(shù)中寫(xiě)的trigger.player是誰(shuí)呢?
正是player。
此時(shí),trigger.player與player是指向同一角色的。
從字面理解,trigger.player就是觸發(fā)事件的角色。
有時(shí),我們也可以看到,觸發(fā)和用牌相關(guān)的技能時(shí),會(huì)有trigger.card,trigger.cards的出現(xiàn)。
造成屬性傷害,會(huì)有trigger.nature的出現(xiàn)。
多摸牌,會(huì)有trigger.num的出現(xiàn)
等等
把以上這些總結(jié),可以得到兩點(diǎn):
①任何事件都有trigger.player
②其他的屬性,如num,source,target,card,cards,nature,prompt,forced等等是根據(jù)不同的事件而出現(xiàn)或不出現(xiàn)的。
由此可見(jiàn),content函數(shù)中的trigger就是事件的數(shù)據(jù)表。在下文中我們用next表示事件的數(shù)據(jù)表
set函數(shù)
而想要弄清楚trigger中的屬性具體意思,就不如實(shí)戰(zhàn)出真知。
而現(xiàn)在我們將用到一個(gè)set函數(shù),它是專(zhuān)門(mén)為事件設(shè)置的函數(shù)。用法如下:
比如說(shuō)有一個(gè)事件,其全部數(shù)據(jù)都在next這個(gè)obj中,我們現(xiàn)在要給他添加一個(gè)叫做'xinyuan'的屬性,屬性值設(shè)置成100,該怎么做?
next.set('xinyuan',100)
set要用到兩個(gè)參數(shù)
參數(shù)1是屬性名
參數(shù)2是屬性值
除了以上演示的添加屬性值外,也可以以此法更改屬性值。
next屬性的對(duì)應(yīng)關(guān)系
我們通過(guò)日常代碼的編寫(xiě),可以察覺(jué)到next中屬性的關(guān)系,而為了讓這種關(guān)系更加明顯,我將采用對(duì)比的方式來(lái)呈現(xiàn)。為了更加直觀,會(huì)出一個(gè)關(guān)于set的視頻系列。