package {
import flash.display.*;
import flash.events.*;
import flash.html.*;
import flash.net.*;
import flash.ui.*;
//HTMLコントロールの利用
[SWF(width=240, height=240, backgroundColor=0xFFFFFF)]
public class HTMLControlEx extends Sprite {
private var htmlControl:HTMLLoader;//HTMLコントロール
//コンストラクタ
public function HTMLControlEx() {
//HTMLコントロールの生成
htmlControl = new HTMLLoader;
htmlControl.width = stage.stageWidth;
htmlControl.height = stage.stageHeight;
addChild(htmlControl);
stage.focus = htmlControl;
//HTMLの読み込み
htmlControl.load(new URLRequest("http://npaka.net/"));
//イベントの追加
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
//ウィンドウサイズ調整
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.nativeWindow.addEventListener(
NativeWindowBoundsEvent.RESIZE, onResizeWindow);
}
//キーダウンイベントの処理
private function onKeyDown(evt:KeyboardEvent):void {
if (evt.keyCode == Keyboard.UP) {
htmlControl.scrollV -= 10;
} else if (evt.keyCode == Keyboard.DOWN) {
htmlControl.scrollV += 10;
} else if (evt.keyCode == Keyboard.LEFT) {
if (evt.shiftKey) {
htmlControl.historyBack();
} else {
htmlControl.scrollH -= 10;
}
} else if (evt.keyCode == Keyboard.RIGHT) {
if (evt.shiftKey) {
htmlControl.historyForward();
} else {
htmlControl.scrollH += 10;
}
}
}
//ウィンドウリサイズイベントの処理
private function onResizeWindow(evt:NativeWindowBoundsEvent):void {
htmlControl.width = stage.stageWidth;
htmlControl.height = stage.stageHeight;
}
}
}
|