package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; public class FridgeMagnets extends Sprite { private var dragTarget:Sprite; public function FridgeMagnets() { var board:Sprite = new Sprite(); var words:Array = new Array("flash.","Sprite","display.","import") var w:String; var xPos:uint = 0 var yPos:uint = 0 for each (w in words) { var magnet:Sprite = createMagnet(w as String) magnet.y = yPos; magnet.x = xPos; xPos += magnet.width; board.addChild(magnet); magnet.addEventListener(MouseEvent.MOUSE_DOWN, dragStarter); magnet.addEventListener(MouseEvent.MOUSE_UP, dragStopper); } board.x = 20; board.y = 100; addChild(board) } private function dragStarter(event:MouseEvent):void { dragTarget = event.target as Sprite; dragTarget.startDrag(); } private function dragStopper(event:MouseEvent):void { dragTarget.stopDrag(); } private function createMagnet(txt:String):Sprite { var s:Sprite = new Sprite(); var m:TextField = new TextField(); var format:TextFormat = new TextFormat(); m.selectable = false; m.autoSize = TextFieldAutoSize.LEFT; m.background = true; m.border = true; m.height=20; format.font = "Verdana"; format.color = 0x000000; format.size = 14; m.defaultTextFormat = format; m.text = txt; s.graphics.beginFill(0x3E7D24) s.graphics.drawRect(-9,1,10,20) s.graphics.endFill() s.addChild(m) return s; } } }