Olá, pessoal! Tenho o seguinte código de drag and drop e duas dúvidas: 1 - Como faço pra quando eu clicar no objeto que foi criado com o drag and drop eu poder ver o ID desse objeto e interagir com ele? 2 - Tem como fazer isso com um componente externo criado por mim (imagem + botão, por exemplo)?
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" viewSourceURL="srcview/index.html" width="100%" height="100%"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.controls.Image; import mx.core.DragSource; import mx.core.UIComponent; import mx.events.DragEvent; import mx.managers.DragManager; private var teste_id:int; private function doDragEnter(event:DragEvent):void { DragManager.acceptDragDrop(UIComponent(event.target)); } private function showID():void { Alert.show("entrei"); lbl.text = String(teste_id); } private function doDragDrop(event:DragEvent):void { var img:Image; if (event.dragInitiator.parent == dropCanvas) img = event.dragInitiator as Image; else { img = new Image(); img.id = String(teste_id); img.source = (event.dragInitiator as Image).source; img.addEventListener(MouseEvent.MOUSE_DOWN, doDragStart); img.addEventListener(MouseEvent.CLICK,showID); dropCanvas.addChild(img); teste_id++ } img.x = event.localX - (event.dragSource.dataForFormat("localX") as Number); img.y = event.localY - (event.dragSource.dataForFormat("localY") as Number); } private function doDragStart(event:MouseEvent):void { var dragInitiator:Image = event.currentTarget as Image; var dragSource:DragSource = new DragSource(); var dragProxy:Image = new Image(); dragProxy.source = dragInitiator.source; dragProxy.width = dragInitiator.width; dragProxy.height= dragInitiator.height; dragSource.addData(event.localX, "localX"); dragSource.addData(event.localY, "localY"); DragManager.doDrag(dragInitiator, dragSource, event, dragProxy); } ]]> </mx:Script> <mx:VBox> <mx:Image source="@Embed('assets/Hawk.jpg')" mouseDown="doDragStart(event)" /> </mx:VBox> <mx:Canvas id="dropCanvas" width="100%" height="100%" borderColor="#1C5CC7" dragEnter="doDragEnter(event)" dragDrop="doDragDrop(event)" borderStyle="solid" cornerRadius="20" borderThickness="6" backgroundColor="#7E92FC"/> <mx:Label text="Label" color="#FF000C" id="lbl"/> </mx:Application> -- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Para anular a inscrição neste grupo, envie um e-mail para [email protected]. Para ver mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT.
