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

Anzeigebildschirme in AIR<br />

Das folgende Beispiel verschiebt ein Fenster beim Betätigen der Pfeiltasten mithilfe der Bildschirm-API zwischen<br />

mehreren Bildschirmen. Um das Fenster zum nächsten Bildschirm zu verschieben, wird im Beispiel das screens-<br />

Array abgerufen und (je nach betätigter Pfeiltaste) vertikal oder horizontal sortiert. Der Code geht danach das sortierte<br />

Array durch und verlgeicht jeden Bildschirm mit den Koordinaten des aktuellen Bildschirms. Zum Identifizieren des<br />

aktuellen Bildschirms des Fensters ruft das Beispiel Screen.getScreensForRectangle() auf und übergibt die<br />

Fenstergrenzen.<br />

package {<br />

import flash.display.Sprite;<br />

import flash.display.Screen;<br />

import flash.events.KeyboardEvent;<br />

import flash.ui.Keyboard;<br />

import flash.display.StageAlign;<br />

import flash.display.StageScaleMode;<br />

public class ScreenExample extends Sprite<br />

{<br />

public function ScreenExample()<br />

{<br />

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

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

}<br />

stage.addEventListener(KeyboardEvent.KEY_DOWN,onKey);<br />

private function onKey(event:KeyboardEvent):void{<br />

if(Screen.screens.length > 1){<br />

switch(event.keyCode){<br />

case Keyboard.LEFT :<br />

moveLeft();<br />

break;<br />

case Keyboard.RIGHT :<br />

moveRight();<br />

break;<br />

case Keyboard.UP :<br />

moveUp();<br />

break;<br />

case Keyboard.DOWN :<br />

moveDown();<br />

break;<br />

}<br />

}<br />

}<br />

private function moveLeft():void{<br />

var currentScreen = getCurrentScreen();<br />

var left:Array = Screen.screens;<br />

left.sort(sortHorizontal);<br />

for(var i:int = 0; i < left.length - 1; i++){<br />

if(left[i].bounds.left < stage.nativeWindow.bounds.left){<br />

stage.nativeWindow.x +=<br />

left[i].bounds.left - currentScreen.bounds.left;<br />

stage.nativeWindow.y += left[i].bounds.top - currentScreen.bounds.top;<br />

}<br />

}<br />

}<br />

Letzte Aktualisierung 27.6.2012<br />

978

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

Saved successfully!

Ooh no, something went wrong!