以下にマップサンプルを示す。各マスにイベント判定用の配列eventkindが設定。(フォルダ名「map2」内の開始時はhtml:map-(start).html js:map-(start).js部分、それ以降はhtml:map.htmlとjs:map.js部分を実行)
0~78の計78マス。
eventkind=[0,3,3,4,1,3,3,1,4,3,0,2,3,1,4,3,3,0,1,3,0,2,0,4,1,0,3,0,0,2,0,3,0,3,0,1,0,4,0,2,0,3,3,0,1,5,0,3,0,1,0,5,0,3,0,1,0,3,3,1,0,3,5,1,0,5,0,3,0,1,0,3,3,1,0,5,0,6]
イベントの種類:0-何もなし 1-サイコロ+ 2-サイコロー(1と2はマップ上での見た目は同じなので注意) 3-その他(ショップとかハートマークとか!マーク) 4-雑魚敵戦闘 5-中雑魚 6-ラスボス
eventkind[0]がスタート地点、eventkind[77]がゴール地点のイベントの種類。サイコロの出目をeventkind[x]のxに追加していきたい。
<<{map.png}
(7/13追記)
キャラクター表示について、歩いたマス数zと対応するように、各マスの座標を配列masuxとnasuyに突っ込んで、
var z =0;
var masuy = [655-48*0,655-48*0…
var masux = [0,48*1,48*2…
var sprite = new Sprite(32, 32);//キャラクター表示
sprite.x = masux[z]+8;//masux[z]+8が理想
sprite.y = masuy[z]+535;//xと同様。sprite.y=masu[z]+535(+8と+535はマスの真ん中にキャラを表示するための調整)
sprite.image = game.assets[IMG1];
としたが、以下のようにキャラクターは表示されなかった。次回TAに聞く
<<{ダウンロード.png}
(7/20追記)
キャラクター表示はyの値が大きかっただけで、sprite.y=masuy[z]+8に変更したら表示された。
以下に示すように、アイテムとサイコロ用のボタンの配置も完了。クリックで確認画面を出し、それぞれのHTMLへの移動も可能に。
ただし、サイコロモジュールで返された出目1~6の取得がいくつか試してみたが成功しない。他モジュールのjsファイルの返り値取得方法を調べる。解決しなければ次回もう一度TAに尋ねる。
<<{ダウンロード.2png.png}
<<{スクリーンショット (1).png}
(8/1追記)
別のjavascriptファイルから値を貰うには、渡す側のサイコロモジュールも変更しなくてはならないと判明。サイコロモジュール担当者不在によりdiceフォルダのdice.jsとsaikoro.htmlも伊東が変更(詳細はサイコロモジュールで)。結果としてサイコロのhtmlからmapのhtmlに移動したときに値を読み込むようになったが、その値がサイコロ側のjsファイルで用いた即時関数(dice.js内のvar ichi)の初期化したときの値(以下のスクリーンショットの46行目のd)で、サイコロで出した目が反映されていなかった。値の受け渡しそのものはうまくいっているので、dice側の問題があると判断し、詳しくはdice側に記述。
<<{スクリーンショット (2).png}
この場合常に1マス目にキャラクターが表示