1. 程式人生 > >FairyGUI筆記:關聯(十二)

FairyGUI筆記:關聯(十二)

  • 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);