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 />

Programmieren von Anzeigeobjekten<br />

StageScaleMode.NO_BORDER skaliert die SWF so, dass sie die Bühne mit den neuen Abmessungen vollständig<br />

ausfüllt. Das Seitenverhältnis des Inhalts wird dabei nicht geändert. Bei diesem Skalierungsmodus wird der<br />

Anzeigebereich der Bühne voll ausgenutzt, das Bild kann jedoch abgeschnitten werden.<br />

StageScaleMode.NO_SCALE skaliert die SWF nicht. Wenn die neuen Abmessungen der Bühne kleiner sind, wird<br />

der Inhalt abgeschnitten. Sind die neuen Abmessungen größer, ist der zusätzliche Platz leer.<br />

Nur im StageScaleMode.NO_SCALE-Skalierungsmodus können die Eigenschaften stageWidth und<br />

stageHeight der Stage-Klasse verwendet werden, um die tatsächlichen Abmessungen (in Pixel) der Bühne nach<br />

der Größenänderung zu ermitteln. (In den anderen Skalierungsmodi geben die Eigenschaften stageWidth und<br />

stageHeight immer die ursprüngliche Breite und Höhe der SWF-Datei an.) Wenn scaleMode den Wert<br />

StageScaleMode.NO_SCALE aufweist, wird zusätzlich bei Größenänderungen der SWF-Datei das resize-<br />

Ereignis der Stage-Klasse ausgelöst, um entsprechende Anpassungen zu ermöglichen.<br />

Infolgedessen haben Sie im Modus StageScaleMode.NO_SCALE für scaleMode bei Bedarf eine größere Kontrolle<br />

darüber, wie Bildschirminhalte an Fenster angepasst werden, deren Größe sich geändert hat. Beispielsweise<br />

empfiehlt es sich für eine SWF-Datei mit einem Video und einer Steuerungsleiste, dass die Größe der<br />

Steuerungsleiste nach einer Größenänderung der Bühne gleich bleibt und nur die Größe des Videofensters an die<br />

geänderte Größe der Bühne angepasst wird. Dies wird im folgenden Beispiel veranschaulicht:<br />

// videoScreen is a display object (e.g. a Video instance) containing a<br />

// video; it is positioned at the top-left corner of the Stage, and<br />

// it should resize when the SWF resizes.<br />

// controlBar is a display object (e.g. a Sprite) containing several<br />

// buttons; it should stay positioned at the bottom-left corner of the<br />

// Stage (below videoScreen) and it should not resize when the SWF<br />

// resizes.<br />

import flash.display.Stage;<br />

import flash.display.StageAlign;<br />

import flash.display.StageScaleMode;<br />

import flash.events.Event;<br />

var swfStage:Stage = videoScreen.stage;<br />

swfStage.scaleMode = StageScaleMode.NO_SCALE;<br />

swfStage.align = StageAlign.TOP_LEFT;<br />

function resizeDisplay(event:Event):void<br />

{<br />

var swfWidth:int = swfStage.stageWidth;<br />

var swfHeight:int = swfStage.stageHeight;<br />

}<br />

// Resize the video window.<br />

var newVideoHeight:Number = swfHeight - controlBar.height;<br />

videoScreen.height = newVideoHeight;<br />

videoScreen.scaleX = videoScreen.scaleY;<br />

// Reposition the control bar.<br />

controlBar.y = newVideoHeight;<br />

swfStage.addEventListener(Event.RESIZE, resizeDisplay);<br />

Letzte Aktualisierung 27.6.2012<br />

177

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

Saved successfully!

Ooh no, something went wrong!