WIZ-CODE.blog

JavaScriptやAjaxをテーマとしたブログです。

*

JS ADV.js イベント登録の仕方

      2010/04/28

JS ADV.jsの設置準備が終わったらさっそくイベントを登録してみましょう。イベント関連のコードはすべてEVENT DATA.adv.jsに記述します。 次の例を見ると、配列eventDataに二つのシーン・オブジェクトが入っています。シーン名”scene_name1″は、メッセージ・ウィンドウの開閉、シーン名”scene_name2″もタイトル・ウィンドウの開閉をするだけのシンプルなイベントです。 個々のイベント・オブジェクトはシーン・オブジェクトのdataプロパティに登録され、順次起動する仕組みになっています。
jsGame.dataBase = Object.extend(jsGame.dataBase, {
	eventData: [

		//シーン・オブジェクト
		{
			name: 'scene_name1',
			flag: null,
			story: null,
			data: [

				//イベント・オブジェクト
				{ type: 'showWin', param: 'main' },
				{ type: 'hideWin', param: 'main' }

			]
		},

		//シーン・オブジェクト
		{
			name: 'scene_name2',
			flag: null,
			story: null,
			data: [

				//イベント・オブジェクト
				{ type: 'showWin', param: 'title' },
				{ type: 'hideWin', param: 'title' }

			]
		}
	]
});
イベントの定義については、便宜上次のように取り決められています。 ・イベントデータはいくつかの「シーン」で構成される。 ・個々のシーンは一つ以上の「イベント」で構成される。 ・シーンとイベントはお互いオブジェクト形式で記述される。 ・シーン・オブジェクトのプロパティは、nameflagstorydataの4つ。このうち、flagstoryプロパティは利用方法がまだ確立されておらず暫定的なものである。dataプロパティ(配列)に個々のイベントを要素として登録する。 ・イベント・オブジェクトのプロパティはtypeparamの2つだけである。 シーンに登録されたイベント群は、シーンが起動すると上から下へ順番に実行されていきます。また、一本道のためシナリオ分岐点に行き当たると、選択肢ごとに別のシーンへ移動します。 シーン・オブジェクトのnameプロパティには好きなシーン名を入れることができますが、重複する名前は付けられません。また、イベント・オブジェクトのtypeプロパティには実行したいイベント名を入れ、paramプロパティに引数を渡します。 実行可能なイベント名
initVars ゲーム内で使用する変数を初期化する
createSimpleText 単独で表示するテキストを作成する
dispSimpleText テキストを一度に表示する
typeSimpleText テキストをタイプ表示する
hideSimpleText テキストを非表示にする
showDialog ダイアログ・ウィンドウを表示する
showWin 各種ウィンドウを表示する
hideWin 各種ウィンドウを非表示にする
dispMsg メッセージを一度に表示する
typeMsg メッセージをタイプ表示する
showQuestion 選択肢問題を表示する
showAnswer 選択肢(三択)を表示する
showConfirm 選択肢(二択)を表示する
clearMsg メッセージ・ウィンドウを空にする
changeScene 別のシーンにジャンプする
toSelectedScene 選択肢に応じて別のシーンにジャンプする
insertValue 選択肢に応じて変数に値を代入する
insertResult 入力されたテキストを変数に代入する
executeCode 引数に渡されたJavaScriptコードを実行する
showText ノベルゲーム風ウィンドウを表示する
hideText ノベルゲーム風ウィンドウを非表示にする
dispText テキストを一度にウィンドウに表示する
typeText テキストをウィンドウにタイプ表示する
clearText ノベルゲーム風ウィンドウを空にする
createImage 画像を作成する
showImage 画像を表示する
hideImage 画像を非表示にする
addImageMap 画像にクリッカブルマップを適用させる
changeBgImg 背景画像を入れ替える
showBgImage 背景画像を表示する
hideBgImage 背景画像を非表示にする
playMusic BGMなどを流す
stopMusic 現在流れている音楽を止める
showModal モーダル・ウィンドウを表示する
hideModal モーダル・ウィンドウを非表示にする
clickToContinue アイコンを点滅させつつ、クリックされるまで待機する
waitUntilClick クリックされるまで待機する
waitToChoose 選択肢がクリックされるまで待機する
また、paramプロパティに渡す引数は、文字列か配列に限られます。引数が一つしかないときは文字列で、複数あるときは配列にして渡します。たとえば、メッセージ・ウィンドウを表示する場合、イベント・オブジェクトのtypeプロパティをshowWinとし、paramプロパティに文字列”main”を入れます。ただし、オプションを設定するときは第2引数が必要となるため、配列に入れ直します。
..........
..........
//paramプロパティに文字列を入れた例
{ type: 'showWin', param: 'main' },
..........
..........
//paramプロパティに配列を入れた例
{ type: 'showWin', param: [
	'main',
	{
		delay: 2.0 //2秒間待ってからウィンドウを表示
	}
] },
..........
..........
オプションはオブジェクト形式で渡します。delay(イベントの発生を遅らせる)、duration(イベント/エフェクトの持続時間を変更)などのプロパティは全イベントの共通オプションです。 次回では各イベントごとの設定を見ていきます。

 - JavaScript/Ajax, ゲーム ,