15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Sicherheit<br />

Zugriff auf geladene Medien als Daten<br />

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

Zum Zugriff auf geladene Daten verwenden Sie die Methoden BitmapData.draw(),<br />

BitmapData.drawWithQuality() und SoundMixer.computeSpectrum(). Standardmäßig ist es nicht möglich,<br />

Pixeldaten oder Audiodaten von Grafik- oder Audioobjekten abzurufen, die von Medien, die in einer anderen<br />

Sandbox geladen sind, dargestellt oder abgespielt werden. Sie können jedoch folgende Methoden verwenden, um den<br />

sandboxübergreifenden Zugriff auf solche Daten zu gewähren:<br />

Rufen Sie in dem Inhalt, in dem die gewünschten Daten dargestellt oder abgespielt werden, die<br />

Security.allowDomain()-Methode auf, um den Datenzugriff auf Inhalt in anderen Domänen zu gewähren.<br />

Bei einem geladenen Bild, Sound oder Video fügen Sie dem Server der geladenen Datei eine URL-Richtliniendatei<br />

hinzu. Diese Richtliniendatei muss Zugriff auf die Domäne der SWF-Datei gewähren, die versucht, die Methoden<br />

BitmapData.draw(), BitmapData.drawWithQuality() oder SoundMixer.computeSpectrum() aufzurufen,<br />

um Daten aus der Datei zu extrahieren. Die drawWithQuality-Methode ist in Flash Player 11.3 und höher sowie<br />

AIR 3.3 und höher verfügbar.<br />

In den folgenden Abschnitten finden Sie ausführliche Informationen über den Zugriff auf Bitmap-, Sound- und<br />

Videodaten.<br />

Zugriff auf Bitmap-Daten<br />

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

Mit der Methode draw() oder drawWithQuality() (Flash Player 11.3; AIR 3.3) eines BitmapData-Objekts können<br />

Sie die aktuell angezeigten Pixel eines beliebigen Anzeigeobjekts in ein BitmapData-Objekt zeichnen. Dabei kann es<br />

sich um die Pixel eines MovieClip-Objekts, eines Bitmap-Objekts oder eines Anzeigeobjekts handeln. Die folgenden<br />

Bedingungen müssen zutreffen, damit diese Methoden Pixel in das BitmapData-Objekt schreiben:<br />

Handelt es sich bei dem Quellobjekt nicht um eine geladene Bitmap, müssen das Quellobjekt und (bei einem Sprite-<br />

oder MovieClip-Objekt) alle untergeordneten Objekte aus der gleichen Domäne wie das Objekt stammen, das die<br />

draw-Methode aufruft, oder sie müssen sich in einer SWF-Datei befinden, die dem aufrufenden Objekt durch<br />

Aufrufen der Methode Security.allowDomain() zugänglich ist.<br />

Handelt es sich bei dem Quellobjekt um eine geladene Bitmap, muss das Quellobjekt aus der gleichen Domäne wie<br />

das Objekt stammen, das die draw-Methode aufruft, oder der Quellserver muss eine URL-Richtliniendatei<br />

enthalten, die der aufrufenden Domäne Zugriffsrechte erteilt.<br />

Wenn diese Bedingungen nicht erfüllt werden, wird eine SecurityError-Ausnahme ausgelöst.<br />

Wenn Sie das Bild mit der load()-Methode der Loader-Klasse laden, können Sie einen context-Parameter angeben,<br />

bei dem es sich um ein LoaderContext-Objekt handelt. Wenn Sie die checkPolicyFile-Eigenschaft des<br />

LoaderContext-Objekts auf true festlegen, wird in Flash Player auf dem Server, von dem das Bild geladen wird, eine<br />

URL-Richtliniendatei gesucht. Wenn eine Richtliniendatei vorhanden und die Domäne der ladenden SWF-Datei<br />

darin enthalten ist, kann die Datei auf die Daten im Bitmap-Objekt zugreifen. Andernfalls wird der Zugriff verweigert.<br />

Sie können auch eine checkPolicyFile-Eigenschaft in einem Bild angeben, das über ein -Tag in einem<br />

Textfeld geladen wird. Weitere Informationen finden Sie unter „Laden von SWF-Dateien und Bildern mit dem<br />

-Tag in einem Textfeld“ auf Seite 1123.<br />

Letzte Aktualisierung 27.6.2012<br />

1128

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

Saved successfully!

Ooh no, something went wrong!