Revision: 45299
Updated Code
at April 28, 2011 23:35 by burnandbass
Updated Code
package bassta.debug { import com.greensock.transform.TransformManager; import com.greensock.events.TransformEvent; import com.greensock.transform.TransformItem; import flash.display.DisplayObject; import flash.display.DisplayObjectContainer; import flash.display.Sprite; ///demo http://burnandbass.com/demo15/ public class MagicDebugger { private static var t:TransformManager; private static var c:Vector.<DisplayObjectContainer> = new Vector.<DisplayObjectContainer> public function MagicDebugger() { throw new Error("Use only with it's static methods"); } public static function create(debuggedObject:DisplayObjectContainer):void{ if(c.indexOf(debuggedObject) == -1){ c.push(debuggedObject); t = new TransformManager(); t.allowDelete = true; t.allowMultiSelect = true; t.arrowKeysMove = true; t.forceSelectionToFront = false; t.lockScale = false; t.scaleFromCenter = false; var i:int = debuggedObject.numChildren; for ( i >= 0; i--; ) { var s:DisplayObject = debuggedObject.getChildAt(i); t.addItem(s); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_MOVE, outputChange); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_ROTATE, outputChange); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_SCALE, outputChange); t.getItem(s).addEventListener(TransformEvent.MOVE, outputChange); } } else { trace("Duplication Found"); } } private static function outputChange(event:TransformEvent):void{ var currentItem:TransformItem = (event.currentTarget as TransformItem); trace("Child [ " + currentItem.targetObject.name + " ] with bounds: { x: " + Math.ceil(currentItem.x) + ", y:" + Math.ceil(currentItem.y) + ", width: " + Math.ceil(currentItem.width) + ", height: " + Math.ceil(currentItem.height) + ", rotation: " + Math.ceil(currentItem.rotation) + " }"); } public static function releaseManager():void{ t.destroy(); c.splice(0,c.length); } //getter, return the manager public static function manager():TransformManager{ return t; } }//end }
Revision: 45298
Updated Code
at April 28, 2011 23:24 by burnandbass
Updated Code
package bassta.debug { import com.greensock.transform.TransformManager; import com.greensock.events.TransformEvent; import com.greensock.transform.TransformItem; import flash.display.DisplayObject; import flash.display.DisplayObjectContainer; import flash.display.Sprite; public class MagicDebugger { private static var t:TransformManager; private static var c:Vector.<DisplayObjectContainer> = new Vector.<DisplayObjectContainer> public function MagicDebugger() { throw new Error("Use only with it's static methods"); } public static function create(debuggedObject:DisplayObjectContainer):void{ if(c.indexOf(debuggedObject) == -1){ c.push(debuggedObject); t = new TransformManager(); t.allowDelete = true; t.allowMultiSelect = true; t.arrowKeysMove = true; t.forceSelectionToFront = false; t.lockScale = false; t.scaleFromCenter = false; var i:int = debuggedObject.numChildren; for ( i >= 0; i--; ) { var s:DisplayObject = debuggedObject.getChildAt(i); t.addItem(s); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_MOVE, outputChange); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_ROTATE, outputChange); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_SCALE, outputChange); t.getItem(s).addEventListener(TransformEvent.MOVE, outputChange); } } else { trace("Duplication Found"); } } private static function outputChange(event:TransformEvent):void{ var currentItem:TransformItem = (event.currentTarget as TransformItem); trace("Child [ " + currentItem.targetObject.name + " ] with bounds: { x: " + Math.ceil(currentItem.x) + ", y:" + Math.ceil(currentItem.y) + ", width: " + Math.ceil(currentItem.width) + ", height: " + Math.ceil(currentItem.height) + ", rotation: " + Math.ceil(currentItem.rotation) + " }"); } public static function releaseManager():void{ t.destroy(); c.splice(0,c.length); } //getter, return the manager public static function manager():TransformManager{ return t; } }//end }
Revision: 45297
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 28, 2011 06:36 by burnandbass
Initial Code
package bassta.debug { import bassta.structure.Initializer; import com.greensock.transform.TransformManager; import com.greensock.events.TransformEvent; import com.greensock.transform.TransformItem; import flash.display.DisplayObject; import flash.display.DisplayObjectContainer; import flash.display.Sprite; import bassta.display.*; // import flash.utils.ByteArray; import flash.net.FileReference; import com.greensock.plugins.VolumePlugin; public class MagicDebugger { private static var t:TransformManager; public function MagicDebugger() { throw new Error("Use only with it's static methods"); } public static function create(debuggedObject:DisplayObjectContainer):void{ t = new TransformManager(); t.allowDelete = true; t.allowMultiSelect = true; t.arrowKeysMove = true; t.forceSelectionToFront = false; t.lockScale = false; t.scaleFromCenter = false; var i:int = debuggedObject.numChildren; for ( i >= 0; i--; ) { var s:DisplayObject = debuggedObject.getChildAt(i); t.addItem(s); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_MOVE, outputChange); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_ROTATE, outputChange); t.getItem(s).addEventListener(TransformEvent.FINISH_INTERACTIVE_SCALE, outputChange); t.getItem(s).addEventListener(TransformEvent.MOVE, outputChange); } } private static function outputChange(event:TransformEvent):void{ var currentItem:TransformItem = (event.currentTarget as TransformItem); trace("Child [ " + currentItem.targetObject.name + " ] with bounds: { x: " + Math.ceil(currentItem.x) + ", y:" + Math.ceil(currentItem.y) + ", width: " + Math.ceil(currentItem.width) + ", height: " + Math.ceil(currentItem.height) + ", rotation: " + Math.ceil(currentItem.rotation) + " }"); } public static function releaseManager():void{ t.destroy(); } //getter, return the manager public static function manager():TransformManager{ return t; } }//end }
Initial URL
http://burnandbass.com/demo15/
Initial Description
You need the greensock's TransformManager class, it is paid, but worth it. I use this class for debugging purposes, to move at runtime objects at the scene. Use MagicDevugger.create(passSomeSprite); and you can transform all children of passSomeSprite
Initial Title
Drag/drop/scale/move DebugUtil with TransformManager
Initial Tags
Initial Language
ActionScript 3