JS ADV.js イベント登録の仕方(その2)
{ name: 'scene_name', flag: null, story: null, data: [ { type: 'eventName1', param: 'eventParam1' }, { type: 'eventName2', param: 'eventParam2' } { type: 'eventName3', param: 'eventParam3' }, ......... ......... ......... { type: 'eventNameLast', param: 'eventParamLast' } ] }, ........ ........ ........イベントデータはevent_data.adv.jsにあるように「シーン」単位でまとめられます。そして個々のシーンに各種イベントのオブジェクトをdata配列に登録していくわけです。イベント・オブジェクトにはtypeプロパティとparamプロパティを設定し、引数はparamプロパティに設定。引数が複数のときは配列に入れて渡します。イベント・オブジェクトの記述方法にはいくつかあって、
........ ........ //イベント名のみの形式 { type: 'eventType1' }, //引数が一つのときはparamプロパティにそのまま渡す { type: 'eventType2', param: 'eventParam1' }, //複数の引数があるときは配列に入れて渡す { type: 'eventType3', param: [ 'eventParam1', 'eventParam2', 'eventParam3' ] }, //イベントの種類によってはオプションを設定する場合も //オプションはオブジェクト形式で渡す //この例では第2引数がオプションになっている { type: 'eventType4', param: [ 'eventParam1', { delay: 3.0, duration: 2.0 } ] }, ........ ........また、イベントごとの「引数」とそのオプションを下記にまとめました。 イベントの機能についてはこのページに載っています。 引数やオプションの設定をかなり変更した、JS ADV.js バージョン0.3に対応しています。 ⇒js_adv.v0.3.js
イベント名 | 引数(カッコ内は何番目かを示す) | 固有オプション |
initVars | (1)ゲームデータのオブジェクト | なし |
createSimpleText | (1)テキスト内容 (2)テキスト要素のID(省略可) |
loc: テキスト要素の座標([x, y]の配列形式で) style: テキストのスタイル⇒ クラス名、インラインスタイル(例: “font-size: 13px;”)、ハッシュ/オブジェクト形式(例: { fontSize: “13px” } DOM表記であることに注意)の三つの記法から選べます。 temp: テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 |
dispSimpleText | (1)テキスト要素のID | effect: trueにするとフェードしながら表示。代わりにEffects.jsのエフェクト名も設定可。 effectOpt: “effect”オプションで決めたエフェクトに対してオプションを設定する。 |
typeSimpleText | (1)テキスト要素のID | なし |
hideSimpleText | (1)テキスト要素のID | effect: trueにするとフェードしながら消える。代わりにEffects.jsのエフェクト名も設定可。 effectOpt: “effect”オプションで決めたエフェクトに対してオプションを設定する。 |
showDialog | (1)ダイアログのメッセージ | type: ダイアログのタイプ。デフォルトは“alert”でメッセージがでるだけ。“input”にするとテキスト入力を求める。 initValue: テキスト入力フォームに初期表示しておきたいテキストを設定。 enableCancel: trueにするとキャンセルボタンが表示される。 temp: テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 |
showWin | (1)ウィンドウのタイプ(省略時はメッセージ・ウィンドウに) “main”: メッセージ・ウィンドウ “warn”: 警告ウィンドウ “title”: タイトル・ウィンドウ |
なし |
hideWin | (1)ウィンドウのタイプ(省略時はメッセージ・ウィンドウに) “main”: メッセージ・ウィンドウ “warn”: 警告ウィンドウ “title”: タイトル・ウィンドウ |
なし |
dispMsg | (1)メッセージの内容 (2)ウィンドウのタイプ(省略時はメッセージ・ウィンドウに) “main”: メッセージ・ウィンドウ “warn”: 警告ウィンドウ “title”: タイトル・ウィンドウ |
temp:テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 alignToCenter: trueにするとテキストを中央揃えにする。 |
typeMsg | (1)メッセージの内容 (2)話し手の名前(省略時はメッセージだけ表示) |
temp: テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 alignToCenter: trueにするとテキストを中央揃えにする。 image: 顔グラフィック用の画像。データベースに登録し、かつゲーム初期化の際にプリロードされた画像名を設定。 offset: 複数の表情を一枚絵にした顔グラフィック画像のオフセットを設定する。[x, y]形式(x、yは整数)で、+1ごとに96pxずつ右/下方向にズレます。デフォルトは[0, 0]。 |
showQuestion | (1)問題文の内容 | temp:テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 |
showAnswer | (1)三つの選択肢を入れた配列 選択肢によって0~2の数字がthis.selectedItemに入る。 |
listNum: trueにすると選択肢リストの文頭に番号を入れる。デフォルトはtrue。 alignToBtm: 問題文の長さが2行に渡るとき、選択肢の表示位置を下方向へずらす。 temp:テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 |
showConfirm | (1)二つの確認メッセージ、もしくは二つの選択肢を入れた配列 選択肢によって0~1の数字がthis.selectedItemに入る。 |
temp:テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 |
clearMsg | なし | なし |
changeScene | (1)ジャンプ先のシーン名 | なし |
toSelectedScene | (1)2つないし3つのシーン名を要素とした配列。直前の選択肢に応じたジャンプ先を選択肢の順番通りに配列に入れる。 例: [“scene01”, “scene02”, “scene02”] |
なし |
insertValue | (1)gameVarsオブジェクトに登録した変数名 (2)演算させたい内容(演算子と数値の文字列)を要素とする配列。直前の選択肢に応じた演算内容を選択肢の順番通りに配列に入れる。 “+10″といった具合に演算子プラス数値の形式にする。”+”、”-“、”*”、”/”、”%”の演算子が使える。 例: [“+10”, “+0”, “-30”] |
なし |
insertResult | (1)ダイアログでテキスト入力された内容を入れる、gameVarsオブジェクトに登録した変数名。 テキスト入力のないalertタイプの場合、OKボタンが押されるとtrueが、Cancelボタンが押されるとfalseが変数に入る。 |
なし |
executeCode | (1)実行したいコード内容の関数 | なし |
showText | なし | なし |
hideText | なし | なし |
dispText | (1)テキスト内容 | temp:テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 alignToCenter: trueにするとテキストを中央揃えにする。 |
typeText | (1)テキスト内容 | temp:テンプレートを使用するときに使う。テンプレート・オブジェクトの“name”プロパティか、もしくはゲーム変数を使うときは“gameVars”と設定する。 alignToCenter: trueにするとテキストを中央揃えにする。 |
clearText | なし | なし |
createImage | (1)データベースに登録され、かつプリロードされた画像名 (2)イメージの固有ID(省略すると自動的に”image”+三ケタの数字のIDになる) |
divSize: イメージのフレーム(divタグ)のサイズを設定。[x, y]形式。 imgSize: IMGタグのサイズを設定。[x, y]形式。 loc: イメージの座標を設定。[x, y]形式。 zIndex: CSSのz-indexプロパティを設定。 parent: 直接の親要素を指定。デフォルトでthis.disp(ゲーム画面)に指定される。 |
showImage | (1)イメージの固有ID名 | なし |
hideImage | (1)イメージの固有ID名 | なし |
addImageMap | (1)イメージの固有ID名 | mapArea: AREAタグに設定する“shape”属性名と“coords”属性名をプロパティとして持つオブジェクトとして設定する。mapAreaプロパティを設定しないと画像全体がクリッカブルマップに適用される。 例: mapArea: { shape: “rect”, coords: “0,0,50,100” } callback: クリックされたときのコールバック関数を設定する。第1引数はイベント・オブジェクト(DOM)が渡される。 |
changeBgImg | (1)データベースに登録され、かつプリロードされた画像名。 (2)メイン背景とサブ背景の選択。“main”か“sub”で。省略時はメイン背景に。 |
なし |
showBgImage | (1)メイン背景とサブ背景の選択。“main”か“sub”で。省略時はメイン背景に。 | loc: イメージの座標を設定。[x, y]形式。 size: IMGタグのwidth-CSSプロパティに設定する値。例: “200px”や”100%”など。 |
hideBgImage | (1)メイン背景とサブ背景の選択。“main”か“sub”で。省略時はメイン背景に。 | なし |
playMusic | (1)データベースに登録した楽曲名(”name”プロパティ) (2)BGMか効果音かタイプを選択。“bgm”か“snd”で。省略時はBGMに。 |
loop: trueでループ演奏。 mute: BGMファイルをあらかじめ読み込む。Flash使用時に有効。 skip: trueにすると、FlashやIEブラウザ以外の環境で重くならないため効果音が省略される。 |
stopMusic | (1)BGMか効果音かタイプを選択。“bgm”か“snd”で。省略時は双方をストップさせる。 | なし |
showModal | なし | なし |
hideModal | なし | なし |
clickToContinue | (1)どの要素をクリック待ちにするか設定。 “mainWin”: メッセージ・ウィンドウ “textWin”: ノベルゲーム風ウィンドウ |
なし |
waitUntilClick | (1)どの要素をクリック待ちにするか設定。 “disp”: ゲーム画面全体 “mainWin”: メッセージ・ウィンドウ “textWin”: ノベルゲーム風ウィンドウ |
なし |
waitToChoose | (1)どの要素をクリック待ちにするか設定。 “winAns”: 三択問題の選択肢 “winConf”: 二択問題(確認メッセージ)の選択肢 |
なし |