Buttons liegen übereinander, Eventlistener werden zwei mal getriggered

Manchmal hat man zwei übereinanderliegende Buttons, die jeweils auf einen Eventlistener reagieren. Wenn man bspw. eine rechteckige Fläche hat, die als Button fungiert und über der rechteckigen Fläche einen weiteren Button, so werden standardmäßig beide Eventlistener (für die Fläche und den Button) getriggered, wenn der Button bspw. angeklickt (MouseEvent.CLICK) wird. Das Problem lässt sich jedoch einfach lösen, indem man die useCapture-Eigenschaft bei der Registrierung des Eventlisteners (für den Button) auf “true” setzt.

myRect.addEventListener(MouseEvent.CLICK,rectClicked);
myButton.addEventListener(MouseEvent.CLICK,buttonClicked,true);
function rectClicked(e:MouseEvent):void {
trace("rectClicked");
}
function buttonClicked(e:MouseEvent):void {
trace("buttonClicked");
}

BlackBerry: Playbook

Nachdem ich viele negative Erfahrungen mit Apple sammeln konnte, bin ich gerade dabei, für das noch nicht veröffentlichte Tablett von BlackBerry, das Playbook, eine Anwendung zu schreiben. Ich habe noch nicht viele Erfahrungen sammeln können, dennoch hat mich überrascht, wie wenig Steine einem Entwickler von Anfang an in den Weg gelegt werden. Es scheint bisher so, als würde da eine ganze andere Mentalität vorherschen (ich hatte mich fast schon an *evil* gewöhnt – vermutlich ein *fail* meinerseits). Ein Beispiel dafür ist bspw. ein öffentlich zugänglicher *cross plattform* Simulator (und das vor dem Release des Geräts).

So einfach kann es sein. Entwickler danken.

[Update, 19.02.2011]: Mein kleines Demo Spiel, Tiny Memory, wurde heute von BlackBerry approved.