PDA

Volledige versie bekijken : Event data ophalen


hereWeGo
%Europe/Berlin %552 %2009, 13:15
Hi all,

Ik heb 4 classes voor mijn video gallery:

- Main.as
- /gallery/ Gallery.as
- /gallery/ GalleryItem.as
- /gallery/events/ RequestVideoEvent.as

Ik heb een event listener gekoppeld aan elk item in de GalleryItem.as, dus elke keer als er op een Gallery Item wordt geklikt dan dispatch ik een custom event.

Ik wil dat event opvangen in de Main class, maar ik krijg het hoe dan ook niet binnen.
Ik krijg geen errors, gewoon helemaal niets.

Mijn RequestVideoEvent class:

package gallery.events {

import flash.events.Event;

public class RequestVideoEvent extends Event {

public static const REQUEST_EVENT:String = "REQUEST_EVENT";

public var video:String;

public function RequestVideoEvent(type:String, video:String=null, bubbles:Boolean = false, cancelable:Boolean = false) {
this.video = video;
super(type, bubbles, cancelable);
}

public override function clone():Event {
return new RequestVideoEvent(type, video, bubbles, cancelable);
}
}
}


GalleryItem class > dispatch gedeelte:

private function clickHandler(evt:MouseEvent):void {
dispatchEvent(new RequestVideoEvent(RequestVideoEvent.REQUEST_EVENT, "mijnVideoString"));
trace("click event traced, custom RequestVideoEvent dispatched");
//trace("geklikt load video: " + video + " load image: " + image);
}


Main class > relevante gedeelte:

addEventListener(RequestVideoEvent.REQUEST_EVENT, videoHandler);
// code code
// etc etc

private function videoHandler(e:RequestVideoEvent):void {
// Hij komt hier nooit!? ...
trace("Play video: " + e.video);
}


heeft iemand een idee?

hereWeGo
%Europe/Berlin %561 %2009, 13:28
Aanvulling, in Gallery.as definieer ik GalleryItem, dus daar kan ik er wel een event aan attachen en er naar handelen als deze wordt gedispatched. Maar ik ben dus wel benieuwd hoe je het kan doen vanuit de Main class.

LuchtJon
%Europe/Berlin %591 %2009, 14:11
Je wilt dat je dispatch event omhoog 'bubbelt' dus zet allereerst bubbles op true in je RequestVideoEvent klasse. Volgens mij wordt je event anders sowieso niet opgevangen op 'hogere lagen'.

Verder kan ikzelf geen andere fouten in je code ontdekken.

hereWeGo
%Europe/Berlin %676 %2009, 16:14
dat ga ik zeker even testen, dankje wel!