ども~~~~!テストが終わって夏休みに入ったFORM_07です~!
お久しぶりです。。。
前回なにしたんだ(忘れた)
・・・・・・・・・・(。_。)うーんと。。。
前回はInput Actionsを実装したらしい・・・
【Unity】最強のゲームクリエイターに俺はなる | Input Actionsを使ってみる - FORM_07’s blog
今回はサフィアちゃんができることを増やしたい!
そのまえに、Input Systemについて、、、
さっきも言ったように、前回Input Actionsを導入したんだけど、、、
なにやらPlayer Inputなるコンポーネントがあるらしい。
だから使ってみた。
これで前回までと全く同じ動きになる。
ちなみに今のところ何が便利なのかわかってない・・・・(・_・)
まぁいいや
おし、本題に入ります!
まーずーはー・・・「しゃがみ」かな。
ってことでスプライトをつくらないと・・・
ドット絵慣れなさすぎてこの作業一番大変まである・・・
前も言った気がする・・・・
できた~~。ドット絵むず。。。
さて、サフィアちゃんをしゃがませるにはまずはAnimator Controllerをいじくりまわさないとな。。。
まずはこんな感じにSapphire-Crouch状態をつなげて、、、
Conditionsで遷移の条件をつける。
今回はしゃがみボタン入力中にしゃがませたいから、Boolean型のisCrouchっていうパラメータを用意して、isCrouchがtrueになったら、つまりしゃがみボタンが押されたらしゃがみステートSapphire-Crouchに移行させる。
反対方向の遷移はtrueをfalseにするだけ。
あと、よくわかんないけどしゃがみボタンが押された瞬間に遷移してほしいからHas Exit Timeのチェックを外して、Transition Durationも0にしといた。
これでアニメーション遷移の準備はできたから、コード書き書きタイムだ。
今回はそんなに難しくならない気がするゾ。
いや、その前にInput Systemをいじくりまわさないとな。
ただisChildパラメータをtrueにしたりfalseにしたりしてるだけです。
た~~のしぃ~~(^_^)
しゃがみ用の当たり判定を作ってみた。
よ~~~しこれでしゃがみは一端オワリ!!\(^_^)/
次は二段ジャンプさせたい。
今は無限にジャンプできるようになってるから。。。
二段ジャンプさせるには・・・・サフィアちゃんの接地判定がいるな・・・
EarthingCheckerって名前の空オブジェクトを作って、それにいいかんじのBoxCollider2Dをつけてあげた。
これをサフィアちゃんの子オブジェクトにしてサフィアちゃんの接地判定にする。
ところで初めて使ったんだけど、public変数の宣言の直前に[System.NonSerialized]って書くと、Inspectorビューに表示されないpublic変数をつくることができるみたい。
これ使ってコード書いていく。
これで二段ジャンプできるようになりました!!
我ながら流れるような実装。(`・ω・´)
でもジャンプをRigidBody2DのAddForceを使って実装してるせいで挙動がきにいらんのよなぁ。
この機会になんとかしてみるか。。。
ほい。
AddForceをやめてvelocityにVector2を代入して実装した。
いいかんじにきもちい挙動するようになった。
追々重力の強さも調整していこう。
今回はこのへんにしとくか!
しゃがみと二段ジャンプを実装でましたね!
次回はシーン切り替えについて考えていきたいな。