ブログ毎日更新は311日目になります。前回「【Unity2D】キー入力を保持する配列を作ろう」にてキー配列を作成しました。上下左右のどれかがキー配列の0個目に格納されるので、その値を見て移動させるようにswitch文で分岐しました。その弊害もあり斜め移動ができなくなってしまったので改良しましょう。ネタバレすると配列の1個目の要素を見てさらに分岐させるだけです。正直な所前回にまとめてしまえばよかったと思いました。Unity2DでARPG作成、第4回目始めましょう。移動処理の分岐を細分化して斜め移動を実装しよう移動処理はPlayerMove関数を作って実装しました。最初の分岐はswitch文でやりましたが、次に上下か左右かを判定する時はif文で分岐させようと思います。どれが正解なのかはわかりませんね......見やすいようにするが一番だと思います。switchの中にswitchが入っていたら個人的には見辛くなる気がします。}ちょっと見辛いコードになってしまいましたが、vxとvyを別々のコードにするとコントローラーならありえないですがキーボードだと上下同時押しとかが出来てしまう為の対策です。上下どちらかを押している時は左右しか認識させないように。左右どちらかを押している時は上下しか認識せないように。いう細かな処理はゲーム作りする上で結構大事になってきます。実際問題もうちょっと綺麗なコードの書き方あるかもしれませんが、最適化はあとからで大丈夫です。これで斜め移動ができるようになりました。次回は歩行アニメーションを導入してみよう移動処理の延長線上の処理としてアニメーションを実装していきます。処理は次回に回しますが、やっていく方法だけは書いておきます。Unityはアニメーターというアニメーションファイルを管理する仕組みがあります。フローチャートみたいな感じでアニメーションの遷移を作ることが出来るのですが、これが意外と初心者殺しでして思ったようにきれいに遷移してくれないいうことが多かったりします。3Dモデルのアニメーションを制御する時は問題ないかもしれませんが、2Dドット絵のようなモーションを作るときはちょっとばかり工夫が必要になったりします。私の場合は上記のように1つのデフォルトステートからすべてに分岐させられるような仕組みにしています。この辺は自分の納得いくやり方でいいと思います。いうのもアニメーションはこのアニメーターだけではなくスクリプト側で処理したいのでこういう形にしています。Unityの教本とかにはこういうやり方は多分書いてないと思います。大体は普通のやり方をやっているので、もし書籍にあるようなやり方でダメそうなら私と同じやり方をしてみて使いやすいかどうかを判断してみてください。答えは一つじゃないのが制作の楽しみです。分からない場合は誰かに習ってしまって、あとは自分のやりやすいように改変していきましょう。1/13なおキーヌ某なんでも屋企業のシステム管理者を務めつつリーマンからの解放を目指して奮闘中。FE&BE開発・Webデザイン・DTPデザイン・SEO・Webライティング等一人である程度のクオリティで大体のことが出来るなんでもエンジニア。小学校の夢でもあったゲームクリエイターを目指して2019年から少しずつ積み上げています。ゲーム作りの参考書TOP。