事件表的特殊用法

在喚境Evkworld中事件表是整個(gè)游戲邏輯的核心,在這篇教程中將會(huì)介紹事件表的一些高級(jí)用法,制作比普通事件邏輯更復(fù)雜的事件.在閱讀本篇教程之前需要您了解喚境Evkworld事件的工作原理和編輯事件的方法.
特殊的條件
系統(tǒng)條件中有三個(gè)特殊的條件于其他的條件工作方式不同.分別是”僅觸發(fā)一次”,”全選實(shí)例”,”否則else”.
僅觸發(fā)一次
這個(gè)條件作用是讓持續(xù)觸發(fā)的條件變成只觸發(fā)一次.與持續(xù)檢測(cè)事件組合使用檢測(cè)”如果最后一次沒有達(dá)到這個(gè)條件”,僅觸發(fā)一次條件置于條件最下方.
如下圖所示,一般制作播放音樂時(shí)都會(huì)犯以下的錯(cuò)誤.當(dāng)飛機(jī)血量等于0時(shí),播放飛機(jī)播放音頻.但是事件是每幀執(zhí)行的,一般游戲中FPS一般為60,所以這個(gè)音效會(huì)播放60次.

這是不符合我們的預(yù)想的,我們只需要當(dāng)飛機(jī)血量等于0時(shí),播放一次飛機(jī)爆炸的音頻.所以我們添加”僅觸發(fā)一次”條件,讓當(dāng)音效只播放一次.

全選實(shí)例
一般事件的執(zhí)行方法是通過條件過濾不符合條件的實(shí)例,選擇符合條件的所有實(shí)例執(zhí)行動(dòng)作.而全選實(shí)例則是反向運(yùn)行的唯一條件,這個(gè)條件會(huì)重新選擇所有實(shí)例對(duì)象,在后續(xù)的條件中再次通過條件篩選實(shí)例.在多重嵌套事件中,可以快速的重置選擇的實(shí)例對(duì)象.
否則else
這個(gè)條件作用于當(dāng)前一個(gè)事件沒有執(zhí)行,則運(yùn)行這條事件,這個(gè)條件必須用于條件的第一個(gè).
下面的例子是當(dāng)觸摸屏幕時(shí),如果全局變量狀態(tài)等于0設(shè)置全局變量狀態(tài)為1,全局變量狀態(tài)等于1設(shè)置全局變量狀態(tài)為0.
新使用喚境Evkworld的用戶可能會(huì)經(jīng)常犯下圖所示的錯(cuò)誤.因?yàn)槭录硎菑纳贤聢?zhí)行的,所以下圖所設(shè)置的事件表在每一次觸摸屏幕時(shí)都會(huì)先把全局變量狀態(tài)值設(shè)置為1,但又馬上符合下面一個(gè)條件,把全局變量狀態(tài)值設(shè)置為0.

我們只需要把第二個(gè)子事件改為使用否則else就可以了.

請(qǐng)注意,”否則else”條件不會(huì)選擇任何實(shí)例,請(qǐng)看下面一個(gè)例子.

上面所示的事件希望當(dāng)怪物在屏幕內(nèi)時(shí),讓怪物的方向朝向玩家,當(dāng)怪物不再屏幕內(nèi)時(shí),讓怪物轉(zhuǎn)向90度.這有兩個(gè)問題。首先如果有任何怪物在屏幕上,那么”否則else”條件將根本不會(huì)運(yùn)行,因?yàn)榈谝粋€(gè)事件已經(jīng)運(yùn)行,因此”否則else”不會(huì)運(yùn)行。第二即使”否則else”事件運(yùn)行,它也不會(huì)特意選擇屏幕外的怪物:它會(huì)影響所有怪物,因?yàn)椤狈駝telse”不會(huì)選擇實(shí)例。在這種情況下,最好簡(jiǎn)單地用事件的反轉(zhuǎn)功能,如下圖所示即可達(dá)到效果.

使用”否則else”組合其他條件即制作”else-if”邏輯,如下圖所示.

以上這些用法你學(xué)會(huì)了嘛,趕快下載喚境引擎試一試~

點(diǎn)擊下載全能無需編程的喚境引擎!?
??https://www.evkworld.cn/?c=600005&sc=600019&auto=1