トップ > Action Script 2.0 > 【小技】 全ボタンの一括停止させる

【小技】 全ボタンの一括停止させる

アニメーションとかのインタラクティブの表現は、見ている者を楽しませたり分かりやすくしたりと、コンテンツを訴求する際に有効的な手段となる場合も多いだろう。
※もちろん、逆効果の場合もあるのだが…今回のテーマは別の話。

アニメーションなどを多用することでタイムラグが発生し、変なタイミングでボタンをクリックすることによってバグが発生してしまい、その対応処理に時間を取られて苦労することも多いだろう。

そこで、ちょっとオススメなのが、全ボタンを一括して停止させてしまうスクリプト処理。

画面上の全てのボタン機能を停止・再開

「allButtonStop();」でボタン機能を一括停止、「allButtonStopCancel();」でボタン機能を一括再開。


function allButtonStop() {
	//ボタン停止用オブジェクトの生成
	_root.allButtonStopObj.removeMovieClip();
	allButtonStopMC = _root.createEmptyMovieClip("allButtonStopObj", _root.getNextHighestDepth());
	//透明度0の矩形を生成
	allButtonStopMC.beginFill(0xFF0000, 0);
	//ステージサイズに合わせる
	allButtonStopMC.lineTo(Stage.width, 0);
	allButtonStopMC.lineTo(Stage.width, Stage.height);
	allButtonStopMC.lineTo(0, Stage.height);
	allButtonStopMC.lineTo(0, 0);
	allButtonStopMC.endFill();
	//ボタン停止処理
	_root.allButtonStopObj.onRollOver = function() {
		this.useHandCursor = false;
	}
}
function allButtonStopCancel() {
	//ボタン停止用オブジェクトを削除
	_root.allButtonStopObj.removeMovieClip();
}

使い方はカンタン。上記のソースを1フレーム目とかにコピペして、「allButtonStop();」「allButtonStopCancel();」を実行するだけ。

例えば、アニメーションが始まる前に「allButtonStop();」を実行し、アニメーションが終了したら「allButtonStopCancel();」を実行することで、アニメーションを行っている最中は完全にボタン機能を無効することができる。

処理はいたって単純、透明のオブジェクト「allButtonStopObj」をステージの全面に配置して「useHandCursor = false;」しているだけ。んで、再開する時は、このオブジェクトを削除するだけ。

あと、ステージサイズが随時変更されるようなコンテンツの場合は、ステージのリサイズイベントで「allButtonStopObj」をステージサイズに合わせる処理を行うと良いだろう。

使えそうであれば使ってくださいな。

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

コメント:0

コメント投稿

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

この情報を記憶する

トップ > Action Script 2.0 > 【小技】 全ボタンの一括停止させる

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

このページの先頭へ戻る