我有兩個統一的串列,第一個是List<GameObject> objList,第二個是List<Animator> animList。所以我需要以某種方式將 GameObject 串列中的第一個物件與 Animator 串列中的第一個影片鏈接起來,第二個與第二個鏈接等等。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
更簡單的方法是創建一個具有這兩個欄位的類,并使用此自定義類創建一個串列。如果這不可能發生,您就沒有“適當的內置”方式將一個鏈接到另一個,除非您使用字典,否則您需要確保每次訪問串列 A 中的第一個值時還將訪問串列 B 上的第一項
uj5u.com熱心網友回復:
那么,GameObject一旦Animator附加了組件,第一個串列的s 是否相同?
在這種情況下,您實際上只需要animList并且無論何時您訪問一個專案,您都已經有了Animator.gameObject參考。
var obj = animList[0].gameObject;
反過來也是可能的,但如果沒有快取,當然會貴一點
var anim = objList[0].GetComponent<Animator>();
在這里,您可以通過例如使用,GetComponentInChildren如果您知道它不完全在此物件上而是一個子物件上,則可以更靈活地處理關系。
否則我就只有一節課
[Serializable]
public class AnimatorObjectPair
{
public Animator animator;
public GameObject gameObject;
}
然后只存盤一個串列
public List<AnimatorObjectPair> animatorObjectPairs;
并填充該串列而不是單個串列,以便您始終一起訪問兩個參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329227.html
上一篇:AR.js影片沒有初始化
