比如我们需要在一个类(CFriendListPanel)里面希望拖动某个面板,我们直接在这个类设置完资源后,添加如下代码:
设定UI上的拖动区域,假设我们设定头部一定区域,定义一个m_rectHead:
m_rectHead.left = 2;
m_rectHead.top = 2;
m_rectHead.bottom = 35;
m_rectHead.right = 200;
对类注册鼠标事件:
this.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);//拖动
this.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
编写鼠标事件响应函数:
private function onMouseDown(evt:MouseEvent):void
{
m_pos.x = evt.localX;
m_pos.y = evt.localY;
parent.setChildIndex(this, parent.numChildren-1);
if(m_rect.containsPoint(m_pos))
{
this.startDrag();
}
}
private function onMouseUp(evt:MouseEvent):void
{
this.stopDrag();
}