Спрайты служат контейнерами для картинок, которые подгружаются из XML. (Это сделано для того, что бы их можно было перетаскивать мышью startDrag and stopDrag)
Я эти контейнеры (срайты) хочу трансформировать с помощью TransformTool (Изменять размер, поворачивать и тд.), но никак не могу. Если записать так event.target is Sprite, то будет трансформироваться ВСЕ, что на сцене, включая и mytree, кнопки и прочее, а мне нужно что бы трансформировались ТОЛЬКО spr (контейнеры)
Вот код
Код: Выделить всё
package { import flash.display.*; import flash.events.*; import com.yahoo.astra.fl.controls.treeClasses.*; import com.senocular.display.TransformTool; import fl.events.ListEvent; import flash.utils.ByteArray; import flash.net.URLRequest; import flash.net.URLRequestHeader; import flash.net.URLRequestMethod; import flash.net.URLLoader; import flash.system.LoaderContext import flash.system.ApplicationDomain import flash.display.MovieClip; import flash.display.Loader; import flash.xml.XMLDocument; import flash.system.*; import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import com.yahoo.astra.fl.controls.treeClasses.*; import vk.api.serialization.json.JSON; import vk.api.MD5; import vk.APIConnection; import vk.events.*; import vk.ui.*; import vk.PNGEncoder; import vk.MultipartURLLoader; import vk.MultipartURLLoaderEvent; import vk.api.serialization.json.JSON; //папку vk можно найти в исходнике. public class Main extends Sprite { //transform tool public var spr:Sprite=new Sprite() public var defaultTool:TransformTool = new TransformTool(); public var currTool:TransformTool = defaultTool; //transform tool //turaga vars public var avaStage:String;//адрес загружаемой картинки из xml public var ava:Loader = new Loader();//loader картинки из xml public var avaStage2:String;//адрес загружаемой картинки из xml public var ava2:Loader = new Loader();//loader картинки из xml public var XMLLoader:URLLoader = new URLLoader(); public var XMLdata:XML = new XML(); public var XMLLoader2:URLLoader = new URLLoader(); public var XMLdata2:XML = new XML(); public var context:LoaderContext = new LoaderContext(); public var index:MovieClip = new MovieClip(); //turaga vars public var uploadphoto:VKButton; //обычная кнопка public var loader:Loader = new Loader(); public var urlforpost:String;//Адрес, на который будем отправлять фотографию, чтобы загрузить в профиль public var urlofphoto:String;//адрес аватара public var api_id:Number; public var viewer_id:Number; public var sid:String; public var secret:String; public var changephotobtn:VKButton; //обычная кнопка public var profilephoto:Bitmap; //фотография пользователя public var brr:ByteArray; //получаем flashvars public var flashVars:Object = stage.loaderInfo.parameters as Object; //инициализация public var VK:APIConnection = new APIConnection(flashVars); //transform tool // selecting objects on the screen public function select(event){ if (event.target is Stage) { currTool.target = null; }else if (event.currentTarget == spr) { currTool.target = event.currentTarget as Sprite; toolInit(); }} // changing tools using the toolChange button public function setTool(event:MouseEvent):void { // unset currTool currTool.target = null; toolInit();} // for setting a new tool public function toolInit():void { // raise currTool.parent.setChildIndex(currTool, currTool.parent.numChildren - 1); // center registration for customTool } //transform tool public function Main() { //transform tool addChild(defaultTool); addChild(spr); //transform tool // event handlers for selecting objects and changing tools stage.addEventListener(MouseEvent.MOUSE_DOWN, select); context.securityDomain = SecurityDomain.currentDomain; context.applicationDomain = ApplicationDomain.currentDomain; //переменные приложения api_id = flashVars['api_id']; viewer_id = flashVars['viewer_id']; sid = flashVars['sid']; secret = flashVars['secret']; //получаем адрес, на который будем отправлять картинку VK.api('photos.getProfileUploadServer', {}, geturl, onError); addChild(index); setChildIndex(index, 1); XMLLoader.addEventListener(Event.COMPLETE, xmlLoaded) XMLLoader.load(new URLRequest("http://mega-tv.do.am/XMLturaga/img.xml")); XMLLoader2.addEventListener(Event.COMPLETE, xmlLoaded2) XMLLoader2.load(new URLRequest("http://mega-tv.do.am/XMLturaga/ava.xml")); } private function xmlLoaded(event:Event):void { XMLdata = new XML(event.target.data); mytree.dataProvider = new TreeDataProvider(XMLdata); mytree.addEventListener(ListEvent.ITEM_CLICK, addClick); } private function xmlLoaded2(event:Event):void { XMLdata2 = new XML(event.target.data); mytree2.dataProvider = new TreeDataProvider(XMLdata2); mytree2.addEventListener(ListEvent.ITEM_CLICK, addClick2); } private function addClick (ev:ListEvent) { if (ev.item.src != null) { //removeChild(getChildAt(0)); avaStage = (ev.item.src); var pictLdr:Loader = new Loader(); var pictURLReq:URLRequest = new URLRequest(avaStage); var spr:Sprite=new Sprite() //var spr:Sprite=new Sprite() spr.x=300; spr.y=400; addChild(spr) pictLdr.load(pictURLReq, context) as MovieClip; //addChild(pictLdr); spr.addChild(pictLdr) setChildIndex(spr, 1); spr.addEventListener(MouseEvent.MOUSE_DOWN, startDraging); spr.addEventListener(MouseEvent.MOUSE_UP, stopDraging); } } private function addClick2 (ev2:ListEvent) { if (ev2.item.src != null) { removeChild(getChildAt(0)); avaStage2 = (ev2.item.src); var pictLdr2:Loader = new Loader(); var pictURLReq2:URLRequest = new URLRequest(avaStage2); //var spr:Sprite=new Sprite() //spr.x=300; //spr.y=400; //addChild(spr) pictLdr2.load(pictURLReq2, context) as MovieClip; //addChild(pictLdr); //spr. addChild(pictLdr2) setChildIndex(pictLdr2, 0); } } private function startDraging(e:MouseEvent):void{ e.currentTarget.startDrag(); } private function stopDraging(e:MouseEvent):void{ e.currentTarget.stopDrag(); }