15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verwenden von Bitmaps<br />

Kollisionserkennung auf Pixelebene<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Mit der BitmapData.hitTest()-Methode wird eine Kollisionserkennung auf Pixelebene zwischen den Bitmapdaten<br />

und einem anderen Objekt oder Punkt durchgeführt.<br />

Bei der BitmapData.hitTest()-Methode können die folgenden fünf Parameter angegeben werden:<br />

firstPoint (Point): Dieser Parameter verweist auf die Pixelposition der linken oberen Ecke des ersten<br />

BitmapData-Objekts, anhand dessen die Kollisionserkennung durchgeführt wird.<br />

firstAlphaThreshold (uint): Mit diesem Parameter wird der höchste Alphakanalwert angegeben, der bei der<br />

Kollisionserkennung als undurchsichtig ausgewertet wird.<br />

secondObject (Object): Dieser Parameter stellt den Kollisionsbereich dar. Beim secondObject-Objekt kann es<br />

sich um ein Rectangle-, Point-, Bitmap- oder BitmapData-Objekt handeln. Mit diesem Objekt wird der<br />

Kollisionsbereich angegeben, für den die Kollisionserkennung durchgeführt wird.<br />

secondBitmapDataPoint (Point): Mit diesem optionalen Parameter wird die Position eines Pixels im zweiten<br />

BitmapData-Objekt angegeben. Dieser Parameter wird nur verwendet, wenn der Wert des secondObject-Objekts<br />

ein BitmapData-Objekt ist. Der Standardwert ist null.<br />

secondAlphaThreshold (uint): Mit diesem optionalen Parameter wird der höchste Alphakanalwert angegeben,<br />

der im zweiten BitmapData-Objekt als undurchsichtig ausgewertet wird. Der Standardwert ist 1. Dieser Parameter<br />

wird nur verwendet, wenn der Wert von secondObject ein BitmapData-Objekt ist und beide BitmapData-Objekte<br />

Transparenzinformationen enthalten.<br />

Denken Sie beim Durchführen der Kollisionserkennung für undurchsichtige Bilder daran, dass das Bild in<br />

ActionScript so verarbeitet wird, als handle es sich um vollständig undurchsichtige Rechtecke (oder<br />

Begrenzungsfelder). Beim Durchführen der Kollisionserkennung auf Pixelebene bei Bildern mit Transparenz müssen<br />

dagegen beide Bilder Transparenzinformationen enthalten. Darüber hinaus wird in ActionScript mithilfe der<br />

Parameter für den Alphaschwellenwert ermittelt, an welchem Punkt Pixel von transparent in undurchsichtig<br />

übergehen.<br />

Im folgenden Beispiel werden drei Bitmapbilder erstellt. Anschließend wird eine Kollisionserkennung mit zwei<br />

verschiedenen Kollisionspunkten durchgeführt (ein Kollisionspunkt gibt „false“ zurück, der andere „true“):<br />

Letzte Aktualisierung 27.6.2012<br />

263

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!