AS3 - Einfaches Referenz-Problem

Marius Heil

Erfahrenes Mitglied
Hallo an all die glücklichen, die mit AS3 klarkommen ;-)

Ich hab ein Jump and Run in AS2 geschrieben und muss das jetzt nach AS3 portieren, da ich auf ein paar neue Funktionen zurückgreifen will.
Ich habe eine main-Klasse, diese läd zwei Unterklassen: listener und debug.Dazu hab ich einfach folgendes geschrieben:
PHP:
package {
	import flash.display.*;
	
	import debug;
	import listener;

	public class _main extends MovieClip {
		public function _main():void {
			d = new debug();
			l = new listener(stage);
		}
	}

}
Nun mag ich beispielsweise aus der listener-Klasse heraus, die Funktion Output in der Debugklasse aufrufen. Eigentlich sollte das ja ziemlich einfach gehen, aber ich verzweifel an OOP noch^^

Marius
 
Genau, zum Beispiel. Am liebsten direkt ohne irgendwelche Referenzen zu übergeben, oder listener zu registrieren.
Das weicht eigentlich ein wenig vom OOP Konzept ab, da die Klassen unabhängig funktionieren sollten, aber mir ist das zu viel Tipparbeit und ich brauch es nicht.
Es wird zwar ein größeres projekt, aber ich hab nicht vor da einzelne Komponenten rauszugreifen und weiterzuverwenden.

Marius
 
Hallo,

ohne eine Referenz zu übergeben, wirst du einen solchen Aufruf nur tätigen können, indem du deine Funktionen wie z.B. "output" als statische Funktion der Debug-Klasse registrierst oder einen Singleton-Wrapper schreibst.

Gruss
 
Hallo,

ohne eine Referenz zu übergeben, wirst du einen solchen Aufruf nur tätigen können, indem du deine Funktionen wie z.B. "output" als statische Funktion der Debug-Klasse registrierst oder einen Singleton-Wrapper schreibst.

Gruss

@Marius
Ich glaube der Singleton ist genau das richtige für dich. Du wirst wahrscheinlich von dem Debugger nur ein Objekt brauchen. Eine einfache Form des Singleton ist:

Code:
class Singleton 
{
    private static var instance : Singleton = new Singleton();

    private function Singleton () {};

    public static function getInstance () : Singleton
   {
        return instance;
   }

}
p-flash
 
Hi,

danke für die Tipps, hab mich bezüglich des Singleton Wrappers zwar mal belesen, muss aber sagen, dass ich dadurch nicht großartig schlauer geworden bin :D
Derzeit tendier ich zu der Lösung, eine Klasse einzubinden in der die Globelen Variablen reinkommen, eventuell sag ich einfach jeder Klasse sie soll ne Referenz zu sich da reinschmeißen, vielleicht bekomm ich das dadurch gelöst.
Was meint ihr?

Gruß,
Marius
 
Zurück