UE4(藍(lán)圖)函數(shù)肋殴,事件囤锉,宏的區(qū)別

藍(lán)圖中事件、函數(shù)的區(qū)別 护锤?

1.Delay/timeslines這些需要等待時間的節(jié)點官地,事件中可以調(diào)用,函數(shù)不能調(diào)用烙懦。
2.函數(shù)可以有返回值驱入,事件沒有返回值。 原因:1).函數(shù)調(diào)用會立刻執(zhí)行并等待結(jié)果,事件調(diào)用只是觸發(fā) 沧侥;2).函數(shù)執(zhí)行在同一線程可霎,事件執(zhí)行在不同線程
3.函數(shù)可以用局部變量,事件沒有局部變量宴杀。
4.因為函數(shù)執(zhí)行順序有保證癣朗,所有優(yōu)先使用函數(shù)。
5.沒有返回值的函數(shù)旺罢,在被子類Overide時旷余,會變成事件。

函數(shù)扁达,事件正卧,宏的區(qū)別

一、語法上的區(qū)別

1.執(zhí)行引腳
調(diào)用函數(shù)和發(fā)射事件只能有一個執(zhí)行引腳跪解,而宏在調(diào)用的時候可以有很多執(zhí)行引腳進(jìn)入或者輸出炉旷。
2.返回值
事件被觸發(fā)了在執(zhí)行觸發(fā)事件的邏輯之后,沒有返回值叉讥,函數(shù)和宏有返回值窘行。
3.延遲節(jié)點
自定義事件可以通過添加一個系統(tǒng)自帶的延遲節(jié)點,來延遲事件觸發(fā)后的執(zhí)行邏輯图仓,而函數(shù)和宏不能添加這個延遲節(jié)點罐盔,函數(shù)的調(diào)用會立即執(zhí)行并等待結(jié)果,而事件的調(diào)用只是觸發(fā)救崔。當(dāng)我們在調(diào)用函數(shù)的時候惶看,系統(tǒng)一定會等函數(shù)執(zhí)行結(jié)束返回結(jié)果后,才會有后續(xù)動作六孵,而事件的調(diào)用纬黎,只是觸發(fā)了這個事件的開始,系統(tǒng)就繼續(xù)往下執(zhí)行了劫窒。
4.允許訪問范圍
函數(shù)和事件可以跨藍(lán)圖類訪問莹桅,而宏只能允許當(dāng)前定義宏的藍(lán)圖類訪問,而宏庫可以跨藍(lán)圖訪問烛亦,宏庫需要選擇父類,如果選擇Actor作為父類懂拾,則所有Actor的類及其子類都可以使用該宏庫煤禽。Object是所有類的父類,如果創(chuàng)建一個父類為Object的宏庫岖赋,則可以被所有藍(lán)圖使用檬果。
類的成員函數(shù)可以被子類繼承,但宏不會被繼承,子類無法使用父類的宏

二选脊、邏輯區(qū)別

調(diào)用函數(shù)調(diào)用宏杭抠,而事件是觸發(fā)事件,函數(shù)和宏只要調(diào)用了恳啥,就一定會執(zhí)行過去偏灿,而事件是需要觸發(fā)條件,比如按下F鍵钝的,點擊鼠標(biāo)翁垂,都是事件。
事件專注于觸發(fā)事件的時機(jī)硝桩,只要事件觸發(fā)了沿猜,處理的邏輯和結(jié)果就和事件本身沒有關(guān)系了,比如你按下鍵盤或者點擊鼠標(biāo)是為了做什么碗脊,事件并不關(guān)心啼肩,它只要被觸發(fā)了就完成了它的使命。
而函數(shù)和宏不同衙伶,執(zhí)行到函數(shù)和宏里面的時候祈坠,一般是通過傳入一些數(shù)據(jù),最后輸出處理這些數(shù)據(jù)的結(jié)果痕支,關(guān)注的是處理的結(jié)果颁虐,從傳入?yún)?shù)到執(zhí)行邏輯返回數(shù)據(jù)整個過程都是函數(shù)體和宏內(nèi)部需要關(guān)注的,比如傳入兩個1卧须,在函數(shù)里面相加另绩,返回相加的結(jié)果是2,我需要關(guān)注傳進(jìn)去的數(shù)據(jù)是否正確花嘶,相加的過程是否正確笋籽,返回的結(jié)果是否正確,因為函數(shù)和宏返回的結(jié)果椭员,往往還要在供外部使用车海。

總結(jié):

因為事件只是觸發(fā),其執(zhí)行的先后順序我們是不得而知的隘击,在強調(diào)執(zhí)行邏輯和處理邏輯侍芝,返回的結(jié)果的時候我們應(yīng)該優(yōu)先的去使用函數(shù),因為函數(shù)的調(diào)用順序是有保證的埋同。在需要某一舉動觸發(fā)邏輯的時候應(yīng)該使用事件州叠,而宏特別適合于制作類似于if,switch這樣的控制流凶赁。引擎自帶的控制流就是用宏制作的咧栗。例如Flip Flop逆甜,A輸出和B輸出交替。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末致板,一起剝皮案震驚了整個濱河市交煞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌斟或,老刑警劉巖素征,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異缕粹,居然都是意外死亡稚茅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門平斩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亚享,“玉大人,你說我怎么就攤上這事绘面∑鬯埃” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵揭璃,是天一觀的道長晚凿。 經(jīng)常有香客問我,道長瘦馍,這世上最難降的妖魔是什么歼秽? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮情组,結(jié)果婚禮上燥筷,老公的妹妹穿的比我還像新娘。我一直安慰自己院崇,他們只是感情好肆氓,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著底瓣,像睡著了一般谢揪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捐凭,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天拨扶,我揣著相機(jī)與錄音,去河邊找鬼茁肠。 笑死屈雄,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的官套。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼奶赔!你這毒婦竟也來了惋嚎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤站刑,失蹤者是張志新(化名)和其女友劉穎另伍,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绞旅,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡摆尝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了因悲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堕汞。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖晃琳,靈堂內(nèi)的尸體忽然破棺而出讯检,到底是詐尸還是另有隱情,我是刑警寧澤卫旱,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布人灼,位于F島的核電站,受9級特大地震影響顾翼,放射性物質(zhì)發(fā)生泄漏投放。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一适贸、第九天 我趴在偏房一處隱蔽的房頂上張望灸芳。 院中可真熱鬧,春花似錦取逾、人聲如沸耗绿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽误阻。三九已至,卻和暖如春晴埂,著一層夾襖步出監(jiān)牢的瞬間究反,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工儒洛, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留精耐,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓琅锻,卻偏偏與公主長得像卦停,于是被迫代替她去往敵國和親向胡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容