トップ > AIR 1.5 > AIR アプリでカスタムクロール(透明)の時にウインドウ(オブジェクト)をドラッグさせる

AIR アプリでカスタムクロール(透明)の時にウインドウ(オブジェクト)をドラッグさせる

今回は軽めの内容。

AIR でウインドウスタイルを「カスタムスクロール(透明)」に設定すると、背景を透過させることができるので、自由なデザインの形でアプリケーションを生成できるのが魅力。

ただ、そうなるとウインドウタイトルなども表示されなくなるため、ドラッグでウインドウの移動を行うことができない。

その辺の処理は自分で行う必要がありそうだ。

ドラッグ処理は簡単。ベースとなるオブジェクトにインスタンス名を設定してマウスイベントを追加するだけ。

下記のようなコードを記述すれば動作する。


package
{
	import flash.display.*;
	import flash.events.*;
	import flash.geom.*;
	import flash.net.*;
	import flash.filesystem.*;
	import flash.desktop.*;
	
	public class Main extends Sprite
	{
		var mainWindow:NativeWindow = stage.nativeWindow;
		/*============================================================
		コンストラクタ
		============================================================*/
		public function Main()
		{
			base.addEventListener(MouseEvent.MOUSE_DOWN, baseClickHandler);
		}
		/*============================================================
		ドラッグ
		============================================================*/
		function baseClickHandler(event:Event) :void
		{
			mainWindow.startMove();
		}
	}
}

MouseEventは「MOUSE_DOWN」で指定する。

ちなみにマウスを離すと自動的にドラッグ処理が停止されるっぽいので、停止の時の処理は記述しなくてもOK。

するとこんな感じでドラッグをすることができる。

ただ、アルファが完全に0%の場合、ドラッグ処理は無効になってしまうようだ。上記のサンプルでは右下の部分をアルファ 0% にしているのだが、ウインドウをドラッグすることができなかった。

09.05.22 追記
イベントを追加する際、わざわざインスタンス名を指定しなくても、stage でもOKのようだ。
stage.addEventListener(MouseEvent.MOUSE_DOWN, baseClickHandler);

この記事をブックマークしておく

コメント:0

コメント投稿

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

この情報を記憶する

トップ > AIR 1.5 > AIR アプリでカスタムクロール(透明)の時にウインドウ(オブジェクト)をドラッグさせる

記事検索
カテゴリ
RSSフィード

このページの先頭へ戻る