1. 程式人生 > >laya用panel實現拖動效果(拉地圖效果)

laya用panel實現拖動效果(拉地圖效果)

layabox最常見的拖動效果是用list實現的,但是也可以用panel實現,並且,panel元件的功能之一就是用來實現拖動的,不存在說panel比list實現拖動更好。

用panel實現拖動時,需要給panel新增子容器,例如box,然後再往子容器box中新增想要滑動的內容,在box尺寸內的可見,在box外的不可見,通過設定panel的scrollbar的value值,還可以控制滑動以及設定box的width或者height實現控制可滑動區域的尺寸。

遊戲中常見的拉動地圖,就是採用panel(其它遊戲也可以用類似的策略)實現的,UI中寫入一整張圖片(尺寸肯定是超過顯示區域尺寸的),玩家拉動螢幕就可以達到拉動地圖的效果

根據panel的scrollbar的value值進行某些設定時,scrollBar滑倒末尾時,仍然會繼續觸發event.change事件,在仍然能夠觸發event.change事件的這段時間內,如果對scrollBar的value值進行操作,可能會產生BUG。

可以採取的做法是,當scrollbar的value值滿足某些條件時,執行stopScroll()停止滑動