Flash 移除ScrollPane的时候报endDrag错误的解决方法

import fl.containers.ScrollPane;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.Sprite;
import fl.events.ScrollEvent;
import flash.events.MouseEvent;


function upLoaderEvent(event:MouseEvent)
{
 if(!isMove)
 {
  trace("sdfdfsdfsfsfs");
 }
 isMove = false;
}
var isMove:Boolean = false;
function onMove(event:MouseEvent)
{
 if(event.buttonDown)
   isMove = true;
}


btnClear.addEventListener(MouseEvent.CLICK,ClearScrollPane);
btnAdd.addEventListener(MouseEvent.CLICK,AddScrollPane);

function AddScrollPane(event:MouseEvent)
{
 var sp:ScrollPane=new ScrollPane();
 sp.name="sp";
//sp.horizontalScrollPolicy ="OFF";
//sp.verticalScrollPolicy="OFF";
 sp.setSize(500,500);
 sp.move(0, 5);
 sp.scrollDrag=true;
 sp.horizontalLineScrollSize=4;
 sp.verticalLineScrollSize=4;
 
 sp.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
 addChild(sp);
  
 var sprite:Sprite=new Sprite();
 sprite.graphics.lineStyle(1, 0x000000);
 sprite.graphics.beginFill(0xff0000);
 sprite.graphics.drawRect(0, 0, 1024, 600);
 sprite.graphics.endFill();
   
 var loader:Loader=new Loader();
 loader.load(new URLRequest("1_3.jpg"));
 sprite.addChild(loader);

 sp.source=sprite;
 
 var upLoader:Loader = new Loader();
 upLoader.load(new URLRequest("tv1.png"));
 upLoader.addEventListener(MouseEvent.CLICK, upLoaderEvent);
 sprite.addChild(upLoader);
   
}
 
function ClearScrollPane(event:MouseEvent)
{
 if(this.getChildByName("sp")!=null) 
 {
  ScrollPane(this.getChildByName("sp")).scrollDrag=false;
  //加上此句清除ScrollPane的时候就不会报endDrag的错误了
  //错误信息:无法访问空对象引用的属性或方法。at fl.containers::ScrollPane/endDrag()
  ScrollPane(this.getChildByName("sp")).drawNow();  
  this.getChildByName("sp").removeEventListener(MouseEvent.MOUSE_MOVE,onMove);
  this.removeChild(this.getChildByName("sp"));
  
 }
   
}

你可能感兴趣的:(Flash 移除ScrollPane的时候报endDrag错误的解决方法)