webForumDet fria alternativet

Broadcast

5 svar · 273 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Jag är ny på det här med broadcast. ;)

Den här koden använder jag för att broadcasta att ett mc ändrar storlek:

public var resizeWinBroadcast:Object = new Object();
private function broadcastResize():Void {
	AsBroadcaster.initialize(resizeWinBroadcast); 
	resizeWinBroadcast.broadcastMessage("onResize");
	trace("broadcast");
}

Koden funkar om jag kör addListener från samma klass men nu vill jag reagera på "onResize" från en annan klass men det funkar inte med den här koden:

 class GadButton {
	var resizeWinBroadcast:Object = new Object();
	var myListener:Object = new Object();

	public function GadButton(){
		initListener();
	}

	private function initListener():Void {
		resizeWinBroadcast.addListener(myListener);
		myListener.onResize = Delegate.create(this, handleResize);
	}

		
	private function handleResize():Void {
		trace("listen");
	}
}

Jag får ut "broadcast" men inte "listen"? :q

mirandirMedlem sedan maj 2003750 inlägg
#2

Du kan inte skicka ut ett medelande direkt efter det att du anropat AsBroadcaster.initialize(). Det är denna som sätter upp att det angivna objektet kan ha listeners bland annat genom att skapa metoderna addListener() och removeListener().

/Mirandir

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Du menar att jag helt enkelt ska ta bort AsBroadcaster.initialize()?

mirandirMedlem sedan maj 2003750 inlägg
#4

Nej. Jag menar att du skall flytta AsBroadcaster.initialize() så att den körs i samband med att objektet skapas istället för i samband med att eventet avfyras.

Förresten så i klassen GadButton så har du ett property som heter "resizeWinBroadcast" vilket ytterliggare ställer till det eftersom den nu försöker skapa en listener på det objektet.

/Mirandir

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

Men kommer detta att funka överhuvudtaget? Är inte problemet att jag i GadButton inte vet vilket objekt jag ska ha framför ???.addListener(myListener)?

Web-TorMedlem sedan nov. 200013 890 inlägg
#6

Jab byggde om hela skiten och använde EventDispatcher istället...

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)