Alle Objekte in der Anzeigeliste / Stage ausgeben

Das Problem kennen bestimmt viele von euch… KEINER WEIS, was für Instanzen in der Stage liegen. Besonders ärgerlich ist das, wenn man mehr mit Code als mit der Zeitleiste arbeitet. Instanzen dynamisch zu erzeugen ist leicht, aber wo befindet Sie sich?
Diese Funktion gibt euch alle, wirklich alle Instanzen mit Namen aus. Davor befindet sich der Container, indem sich diese befindet.

ActionScript:

function displayAll(container:DisplayObjectContainer, parent:String):void
{
	var child:DisplayObject;

	parent = parent + "--->" + container.name;

	for (var i:uint=0; i < container.numChildren; i++) {
		child = container.getChildAt(i);
		if (child is MovieClip) {
			trace(container.name + "--->" + child.name);
		}
		if (child is DisplayObjectContainer) {
			displayAll(DisplayObjectContainer(child), parent );
		}
	}
	trace(parent);
}

// Aufruf
displayAll(this, "stage");

Die Funktion wird mit „displayAll(this.stage, „stage“);“ aufgerufen!

bis die Tage

lg Alexander




1 Antwort : “Alle Objekte in der Anzeigeliste / Stage ausgeben”

  1. KEINER sagt:

    ich WEIS immer welche objekte auf der bühne liegen! ich nehm die funktion tortzdem mal mit. kann man gut als prototype beim debug verwenden.

    http://tobyho.com/Modifying_Core_Types_in_ActionScript_3_Using_the_Prototype_Object

    das einzige was mich stört ist das sich ständig dieses script wiederholt
    (resize,remove,trace usw):

    for (var i:uint=0; i < container.numChildren; i++) {
    child = container.getChildAt(i);
    }
    das müsste man also noch in eine andere funktion packen.

    danke!

Kommentar verfassen