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