1

パネルをドラッグして、ある行の前でパネルを停止しようとしています。これを行う方法がわかりません。私のコードで説明しましょう(動作していません):

//MyPanel
<s:Panel                                                                         
  mouseMove="rectangle_mouseMoveHandler(event)"
  width="30" height="30" id="panel" backgroundAlpha="0.2" 
  mouseDown="onMouseDown(event)" mouseUp="onMouseUp(event)"                              
  skinClass="intetech.PanelNoTitleBar" backgroundColor="blue">                                                      
</s:Panel>


//rectangle_mouseMoveHandler
protected function rectangle_mouseMoveHandler(event:MouseEvent):void
    {

        if ((panel.x+panel.width)>=(minimap.x+minimap.width)){
            panel.x = (minimap.x+minimap.width-panel.width+0.001);              
        }
        trace("panel.x = "+panel.x);
    }
4

1 に答える 1

1

スプライトの制約四角形を指定するスプライトの親の座標に相対的な境界を使用できます。

protected function panel_mouseUpHandler(event:MouseEvent):void
{
    panel.stopDrag();
}

protected function panel_mouseDownHandler(event:MouseEvent):void
{
    panel.startDrag(false, new Rectangle( 0,0, 500, 300));
}

//...

<s:Panel id="panel" width="300" height="200" mouseUp="panel_mouseUpHandler(event)" mouseDown="panel_mouseDownHandler(event)"/>
于 2013-04-17T11:22:36.797 に答える