りよねこたわ~

ロールプレイングゲーム作ってみたいにゃ~でもどうしたらいいのにゃ~?

このゲームの3Dダンジョンはこんな感じでできてるにゃ~【その4にゃ~】

ω・`) 引き続き18枚目のマップのイベントを作成中にゃ~。

ω-`) ちょっといろいろあったからにゃ~ほとんど進んでにゃいにゃ~。

っ´ーωー`)っ れ、連休で浮かれてたわけじゃにゃいにゃ~w

 

ω・`) 前回は、目的のタイルセット情報(以下、情報にゃ~)が、Map???.jsonってファイルの配列dataに入ってるってところまでだったかにゃ~。

どういうふうに情報を取るかっていうとにゃ~。

まずは、情報がどう並んでいるか確認するにゃ~。

目的の情報は、dataって配列の300番目から399番目に入ってるにゃ~。

この情報は、左上のマップ座標(0,0)から右下のマップ座標(9,9)まで、順番に入ってるにゃ~。

例えば、座標(0,0)には300番目の情報、右隣の座標(1,0)には301番目の情報ってことにゃ~。

 

次は、キャラクターのいる座標が何番目の情報かを取得するにゃ~。

前回使った画像をそのまま使用するにゃ~。

f:id:riyoneko:20180425174555p:plain

この画像の例にゃと、キャラクターの位置は赤丸だから、座標(5,8)かにゃ~。

これをJavaScriptで書くんにゃけど、このゲームではswitchとcaseを使うことにしたにゃ~。

//////////

switch ($gamePlayer.x) {

    case 0:

        switch ($gamePlayer.y) {

            case 0:

                i = 300;

                break;

            case 1:

                i = 310;

                break;

//////////

$gamePlayer.xと$gamePlayer.yは、キャラクターがいるx座標とy座標の情報が入ってるにゃ~。

つまり、$gamePlayer.xには「5」、$gamePlayer.yには「8」かにゃ~。

ちょっと(かなり)省略したんにゃけど、上のswich文からi(添え字)は385になるにゃ~。

これでキャラクターの位置(座標(5,8))の情報が、配列dataの385番目に入っていることが取得できるにゃ~。

 

次は、キャラクターの向きから見える範囲のi(添え字)を取得するにゃ~。

 

っ´ーωー`)っ 眠くなってきたから、続きは次回にゃ~。