:: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          圖形拖動(一)副本的方式

          Posted on 2012-10-20 14:40 誰用我名字啦? 閱讀(189) 評論(0)  編輯  收藏 所屬分類: flex學習之路
          <?xml version="1.0" encoding="utf-8"?>
          <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                         xmlns:s
          ="library://ns.adobe.com/flex/spark" 
                         xmlns:mx
          ="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
              
          <fx:Script>
                  
          <![CDATA[
                      import mx.controls.*;
                      import mx.core.IVisualElement;
                      import mx.core.UIComponent;
                      import mx.graphics.ImageSnapshot;  
                      
                      [Embed(source="E:/flex/45.png")]
                      [Bindable]
                      private var bookImage:Class;
                      
                      public var uiComponent:Object;
                      public var targetImage:Object;
                      public var Ax:int = 0;
                      public var Ay:int = 0;
                      public function mouseDown(event:MouseEvent):void{
                          //在原地生成圖片副本,然后將移動圖片。  
                          this.uiComponent = event.currentTarget;
                          //生成圖片  
                          var bd:BitmapData = ImageSnapshot.captureBitmapData( UIComponent( uiComponent ) );  
                          targetImage = new Image();   
                          targetImage.source = new Bitmap(bd);  
                          targetImage.x = uiComponent.x;  
                          targetImage.y = uiComponent.y;  
                          Ax = event.localX;  
                          Ay = event.localY;  
                          this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);  
                          this.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
                          this.addElement(targetImage as IVisualElement);// as DisplayObject
                      }  
                      
                      public function mouseMove(event:MouseEvent):void{  
                          targetImage.x = event.stageX-Ax;  
                          targetImage.y = event.stageY-Ay;  
                      }  
                      
                      public function mouseUp(event:MouseEvent):void{  
                          this.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove);  
                          this.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);  
                          
                          //當鼠標移動到預定位置,將圖片刪除,并且移動源控件。  
                          uiComponent.x = event.stageX-Ax;  
                          uiComponent.y = event.stageY-Ay;  
                          this.removeElement(targetImage as IVisualElement);  
                          targetImage = null;  
                          
                      }  
                  
          ]]>
              
          </fx:Script>
              
          <mx:Image x="331" y="127" source="{bookImage}" mouseDown="mouseDown(event)"/>
              
          </s:Application>
          主站蜘蛛池模板: 石林| 时尚| 烟台市| 永川市| 桓仁| 福清市| 泾阳县| 偃师市| 满洲里市| 饶平县| 逊克县| 嘉善县| 廉江市| 广元市| 府谷县| 常德市| 墨竹工卡县| 手游| 隆尧县| 定襄县| 赤城县| 安塞县| 长岛县| 扎鲁特旗| 南靖县| 望都县| 江津市| 沙河市| 茂名市| 清苑县| 宁明县| 石楼县| 钦州市| 繁峙县| 驻马店市| 英吉沙县| 通州市| 桓台县| 灵山县| 镇康县| 伊通|