FairyGUI筆記:關聯(十二)
阿新 • • 發佈:2018-11-08
-
Relation
除了在編輯器設定關聯外,有時候我們也需要動態新增關聯。例如在一款頁遊中,一個動態新增到舞臺的元件,希望舞臺寬度改變時(比如瀏覽器視窗被玩家拖大拖小),元件依然保持在右側位置,那麼可以這樣呼叫:
aObject.AddRelation(GRoot.inst, RelationType.Right_Right);
又例如,一個動態新增到舞臺的元件始終保持滿屏大小,可以這樣呼叫
aObject.SetSize(GRoot.inst.width, GRoot.inst.height); aObject.AddRelation(GRoot.inst, RelationType.Size);
RelationType.Size相當於RelationType.Width_Width和RelationType.Height_Height的組合。這裡強調一下,使元件變為滿屏大小這個操作必須由你完成,也就是上面程式碼中的SetSize呼叫。關聯並不能完成這項任務,因為關聯是不管元件當前的大小的,它只會在目標變化時保持兩者大小的差別。
刪除關聯的方法是:
//刪除某個關聯 aObject.RemoveRelation(targetObject, RelationType.Size); //刪除指向某個物件的所有關聯 aObject.relations.ClearFor(targetObject);