詳しい事はあまり書いてないので良く分かりませんが、9枚のパネル上を移動するアレですよね?
取り敢えずで良いなら
c#
1vector3[] maptails={new vector3(-1,1,0),new vector3(0,1,0),new vector3(1,1,0),
2 new vector3(-1,0,0),new vector3(0,0,0),new vector3(1,0,0),
3 new vector3(-1,-1,0),new vector3(0,-1,0),new vector3(1,-1,0)};
とすれば
012
345
678
という風に座標を入れられるので、そこに対応したパネルを置き(座標は調整してください)
移動は
c#
1int playerpos=Array.Indexof(maptails,transform.position);
2if(GetkeyDown(Keycode.Downarrow)&&playerpos+3<10)
3 {
4 transform.position=maptails[playerpos+3];
5 playerpos+=3;
6 }
7
8if(GetkeyDown(Keycode.Uparrow)&&playerpos-3<0)
9 {
10 transform.position=maptails[playerpos-3];
11 playerpos-=3;
12
13 }
14
playerpos=座標から取得したプレイヤーの配列内での位置
キー入力とplayerposが次の移動で配列外に出ないかをチェックした後、下入力ならplayerposに3を足した位置にプレイヤーを移動、playerposに3を加える
012↓ここならmaptails[2]からmaptails[5]へ
345
678
上移動なら移動の際にplayerposから-3を加える
左右移動もそれぞれ1,-1を加えれば出来ると思います。
自分も初心者なので間違ってたりunityじゃ使えない機能を使っていたらすいません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/21 12:36