/ Published in: ActionScript 3
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
Use MagicDevugger.create(passSomeSprite); and you can transform all children of passSomeSprite
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
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 }
URL: http://burnandbass.com/demo15/