webForumDet fria alternativet

Broadcast

Flash

5 svar · 273 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#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

Medlem 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

Medlem sedan nov. 200013 890 inlägg
#3

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

Medlem 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

Medlem 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)?

Medlem sedan nov. 200013 890 inlägg
#6

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

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)