我建議你創建一些包裝類AppButton
(或者可能是你已經有一個,因爲你必須通過標籤功能的一些調整大小)用方法setSkin(skin:MovieClip)
(其中皮膚是MovieClip
從庫)和width
和height
覆蓋的制定者,所以你可以在這裏實現調用方法arrange()
中的皮膚調整大小邏輯,每次調用寬度或高度都會改變。兒童與其他影片剪輯(集中在你的情況下邊框),所以不要使用scale9Grid屬性的孔皮膚,但集大小直接與集兒童scale9Grid屬性他們以及, -
皮膚可能會很複雜所以你arrange
方法是這樣的:
private function arrange():void
{
var child:DisplayObject;
for(var i:int = 0; i < numChildren; i++)
{
child = getChildAt(i);
child.width = width;
child.height = height;
}
}
這也是值得做的項目按鈕的外觀一個皮膚格式,所以你可以使用一個包裝的所有按鈕。
稍後,您可以添加更多功能到這個AppButton
- 切換鼠標事件的視圖狀態,設置文本標籤,動畫皮膚等。
這種方法對我來說多年工作,我們有基地ToggleButton
和LabelButton extends ToggleButton
類,並通過自定義皮膚分析和排列擴展它們在每個項目。
這實際上聽起來像是一種非常聰明的方式來處理按鈕和組件。我一定會在未來實施這個。目前我被卡住了一個糟糕的API,但我正在努力改寫它。 – Glitcher