菜狗小提米的技美學(xué)習(xí)筆記(1112-對(duì)Cast to用法的理解)
Cast to?節(jié)點(diǎn)的一些理解
(資料圖片僅供參考)
Cast to某種程度上可以視為if判斷(Branch)使用,即判斷輸入對(duì)象是否==被Cast的子類中的對(duì)象
Cast to節(jié)點(diǎn)使用的前提是此功能需要依托于一個(gè)對(duì)象。
例如,達(dá)成某條件時(shí),需要在某個(gè)Actor類中播放動(dòng)畫產(chǎn)生交互效果,則播放動(dòng)畫的對(duì)象就是Cast to節(jié)點(diǎn)需要依托的對(duì)象。此時(shí)Cast to節(jié)點(diǎn)的上游大概率會(huì)有針對(duì)這個(gè)觸發(fā)條件的判斷語句,且會(huì)返回一個(gè)對(duì)象(Object)值。
判斷父子類的方法:被Cast的類中,窗口右上角有顯示其父類的對(duì)象類型,此對(duì)象類型需要和Cast to節(jié)點(diǎn)輸入的Object對(duì)象類型相吻合。
如下圖所示,被Cast的子類中顯示其父類對(duì)象類型為Actor,則Cast to節(jié)點(diǎn)中Object輸入位置只能給到Actor值。
此對(duì)象若==Cast to指向的子類中的對(duì)象,則Cast to返回真,否則返回假。
注意:若Cast to指向的類中有多個(gè)對(duì)象,則把所有對(duì)象遍歷一遍,符合條件的返回真,否則返回假(只是我測(cè)試后的理解,不一定正確)。
因?yàn)闆]搞清楚這個(gè)邏輯,導(dǎo)致做了一些屎山,如下圖:
所犯的錯(cuò)誤在于,二級(jí)子類繼承子類再繼承父類,Cast to節(jié)點(diǎn)由功能所在的類指向子類再指向二級(jí)子類,二級(jí)子類中多弄了幾個(gè)模型,且名稱不一致,導(dǎo)致對(duì)二級(jí)子類的Cast to節(jié)點(diǎn)將信息不符的對(duì)象遍歷之后判定為否,返回假,所以部分二級(jí)子類中的對(duì)象沒有實(shí)現(xiàn)想要的效果。
正確方法:父類中對(duì)象數(shù)量、信息與子類保持一致,前期不需要出現(xiàn)對(duì)象可在父類中Set可見性或摧毀。