觸發(fā)原理概論——4.1觸發(fā)運(yùn)行的內(nèi)在邏輯
備注:考慮到3.3.6已經(jīng)更新,第三章及以后的內(nèi)容將會基于3.3.6的自帶地編撰寫。另外,由于第三章的測試工作量過大,四五章的內(nèi)容將會和第三章同步更新(其實(shí)就是先寫簡單的)
?
先提出幾個簡單的問題來概括本節(jié)的內(nèi)容:
1、在地圖里新建觸發(fā)A,條件為延時10秒觸發(fā),結(jié)果0為46號禁止玩家操作,結(jié)果1為47號允許玩家操作,10秒后這個觸發(fā)觸發(fā)之后,玩家能否操作?將結(jié)果0與結(jié)果1互換之后呢?
2、在地圖里新建觸發(fā)A、B、C,A的條件為延時10秒,結(jié)果0為允許B,結(jié)果1為允許C。B的條件為延時0秒或8號(任何條件),結(jié)果0為禁止C。B和C均勾選觸發(fā)選項中的禁止。
(1)C的條件為延時10秒,結(jié)果為玩家勝利,地圖運(yùn)行后玩家能否勝利?
(2)C的條件為延時0秒或8號(任何條件),結(jié)果為在路徑點(diǎn)刷核彈,地圖運(yùn)行后會不會有核彈出現(xiàn)?
(3)交換觸發(fā)A的兩個結(jié)果順序之后,(1)(2)的結(jié)果有沒有變化?
(4)交換觸發(fā)B和C的所有內(nèi)容(即在觸發(fā)排序里將B在C前改為C在B前),(1)(2)的結(jié)果有沒有變化?
3、在地圖里新建觸發(fā)A、B、C、D,C和D為初始禁止?fàn)顟B(tài)。A和B的條件均為延時0秒或8號(任何條件),A的結(jié)果0為禁止B,結(jié)果1為允許C。B的結(jié)果0為禁止A,結(jié)果1為允許D。C和D的條件為延時10秒,結(jié)果均為在路徑點(diǎn)刷核彈。地圖運(yùn)行后觀察是否有核彈出現(xiàn),是哪個觸發(fā)對應(yīng)的路徑點(diǎn)的核彈。
?
不要問我這些問題的答案,我也不知道,不過我們有地編,完全可以實(shí)際測試。
?
測試結(jié)果:1、47號結(jié)果在后時玩家可以操作,46號結(jié)果在后時玩家不能操作。
2、(1)不能勝利。
(2)有核彈出現(xiàn)。
(3)不能勝利,有核彈出現(xiàn)。
(4)不能勝利,無核彈出現(xiàn)。
3、出現(xiàn)了觸發(fā)C對應(yīng)路徑點(diǎn)的核彈。
?
根據(jù)測試結(jié)果,在同一個觸發(fā)的結(jié)果序列里,結(jié)果是依次執(zhí)行的,較小編號的結(jié)果比較大編號的結(jié)果先執(zhí)行。
當(dāng)數(shù)個觸發(fā)的條件同時滿足時(例如條件完全相同),執(zhí)行順序是觸發(fā)編號依次從小到大的,即,觸發(fā)編號較小的觸發(fā)可以直接禁用同時可以觸發(fā)的觸發(fā)編號較大的觸發(fā)。
當(dāng)一個觸發(fā)同時允許了多個觸發(fā)(這里認(rèn)為被允許的觸發(fā)的觸發(fā)選項均勾選了禁止),而被允許的觸發(fā)結(jié)果中存在允許或禁止其他觸發(fā),執(zhí)行順序?yàn)橄葓?zhí)行原觸發(fā)中的所有結(jié)果,執(zhí)行完后再執(zhí)行被允許的觸發(fā)中的結(jié)果,比如允許或禁止觸發(fā)的結(jié)果(如果它們是立即需要執(zhí)行的)。