MENU

【Unity】最強のゲームクリエイターに俺はなる | Input Actionsを使ってみる

どもども!テスト週間が始まったFOMR_07ですよ!

 

早く解放されたい・・・・・(T-T)

 

まぁ僕はテスト勉強よりもゲーム制作をしたいからするんですけどね。

 

 

・・・・・(;゚ロ゚)

 

 

というわけでやっていこう!!

 

 

 

(どういうわけだ・・・)

 

 

 

前回↓はカメラを動かすコードを書きましたね。

 

【Unity】最強のゲームクリエイターに俺はなる | カメラをPlayerに追従させよう - FORM_07’s blog

 

今回はサフィアちゃんに攻撃させてみたいと思います!

 

まずはエフェクトを描かないとナ。。。。

 

 

ドット絵作り慣れてないからこの作業が一番大変だったりする。。。

 

 

30秒クオリティ

適当につくってオブジェクトにしてみた。

 

Sapphireの子として設定して、サフィアちゃんと一緒に動くようにした。

 

親子関係

 

あとは攻撃したときだけ表示してほしいから、、、

 

これ

 

「Sapphires_5」の左にある四角のチェックをはずす。

 

 

ふむふむ

そうするとこんなかんじで見えなくなる。なくなったわけではない。

 

 

さて、ここからはコード書き書きタイムなんですが、、、その前に、、、

 

 

今回せっかくInput Systemを使っているので、この機会にちょっと色々試してみよう。

 

 

まず、Input Actionsというものがあるらしい。。。

 

どうやらあらゆる操作をActionという単位で管理して、それをMapというグループにわけることで、スクリプトをかくときに入力を意識しなくて済むのだそうで・・・

 

ふむ、よぉわからんぞ。

 

これあれだ。とりあえずやってみたらわかるやつだ。やってみよ。

 

まずはそのInput Actionsを使うためにAssetsCreateからInput Actionsを選択する。

 

一番下にあった

するとなにやら見たことのないウィンドウが。。。

 

 

・・・・・・・・・( ・_・)

 

 

よぉわからんが便利そうな香りがぷんぷん

 

ほぉ。たしかにAction MapsActionsという項目があるな。

 

試しにAction MapsPlayerを、ActionsMoveJumpAtackを入れてみたけど、要はこれあれだな。

 

Player操作するときはSPACEキーでジャンプ、メニュー画面ではSPACEで選択、みたいな仕様にするとき、Playerとメニュー画面を別々のMapにしてそれぞれのMapの中にActionとしてSPACEキーを押すとどうなるか設定しておけばなんやかんやで便利ってことか。

 

多分

 

で、右っかわのAction Propertiesが各Actionの設定だな。みたかんじ。

 

やってみよ。

 

 

・・・・・・・・(。_。)カタカタ

 

 

ちょっといじくってみた。

 

ふ~むふむ

 

Moveは今後連続値を扱うかもしれないからAction TypeValueにして、2D横スクロールだからControll TypeAxisに。

 

JumpAttackButtonにしといたよ。

 

そしたらcsファイルが勝手に作られた。

 

これ多分あれだな。触らない方がいいやつだな。

 

多分やけど今設定したInput Actionsスクリプトにしてくれたんやおな。

 

じゃぁあとはサフィアちゃんにアタッチするスクリプトを書くだけだな。

 

以前書いたPlayerControllerに記述するか。

 

 

 

というか、ちょっと聞いて下さいよ。

 

今までVisual Studioを使ってコーディングしてんだけどね、なんかおかしいなと思ってたの。

 

そしたら案の定だったの。Unityと連携できてなかったの。

 

 

はぁ・・・(´д`)

 

 

EditPreferenceから設定するなんて聞いてないよ。。。それか導入の仕方間違ってたのかな。。。

 

 

まぁいいか。。。

 

 

さて、プログラミングのお時間だ~。

 

 

Unityと連携させたら画面が賑やかになった

 

 

これでいいはず。。。

 

public変数はこんなかんじ↓に調整しといた。

 

これ便利よね

 

敵と攻撃エフェクトにも当たり判定をつけて、、、(敵にもRigidbodyつけといた)

 

攻撃エフェクトはPolygon Collider 2Dを使っていい感じにあたり判定を編集した

 

実行!!

 

あれーーーーー

 

ん、、、サフィアちゃんの操作はいい感じだけど、、、

 

敵が消えてくれない・・・・・・・(。_゚)

 

あれ、子のColliderの判定って親も取得できるんだよね???

 

 

数時間後

 

 

ぬわぁあ~~~~~~

 

やっとわかったぁぁああああああぁぁ~~~~。。。

 

まず大前提に、OnTriggerEnterじゃなくてOnTriggerEnter2D

 

 

そんなん知らんて・・・・・(T-T)

 

そしてフラグリセットのタイミングが悪かった。

 

 

当たり判定あやしいな・・・

 

 

ああああああああああ長かった。

 

でも勉強になったな。Input Actionsは思ってたより簡単に使えたし。。。

 

よくわかってない部分は多いけども・・・・ま、そこは追々ね。

 

ってかよく考えたら、非アクティブ状態はColliderもはたらいてないからフラグ管理なんてしなくていいのか。

 

消しときました。

 

よ~し今回はここまで!!!

 

難航しました。こんな簡単なことで。

 

これからこういうことも日常茶飯事になるのかなぁ~・・・なんて。

 

 

次回はPlayerの操作をレベルアップさせたい。

 

form-07.hatenablog.com