こんにちは、
ブロックをキャッチできた ちきなるです。
前回コードまできっちり書きましたが、基本的に汎用性のある部分はきっちりと書いて、そうではない部分はざっくり書く予定です。
簡単な部分や他のゲームだと使いにくい部分とかです。
前回オブジェクト(ブロック)の取得に成功したので、次は取得したブロックをマウスの移動に追従するようにします。
ざっくりいうと、”FixedUpdate“の中でオブジェクトの”transform.position“にマウスの座標を叩き込むだけです。
次は、移動した方向と量を見てブロックを入れ替えます。
地味に移動方向を確認するのが難しく、”Vector2.Normalized“で正規化ができるようなのですが、値が小さいときれいに正規化できないみたいで、ブロックがあらぬ方向へ飛んでいきました。
※正規化とは、方向を残したまま値を1.0にすることです。右だと(1.0,0)左だと(-1.0,0)見たいな感じです。
仕方がないので、元の位置と移動した位置を比較して、無理やり方向を取得しました。
最後に入れ替えた回数をカウントして、3回入れ替えると上に昇らせると操作部分の完成です。
だがしかし、上に昇らせる部分でもつまづきました。
単純に重力を-1にすればいいと思っていたのですが、天井が吹っ飛んでいきました。
最終的には、天井のRigidbody2DのBody TypeをStaticにして動かないようにした後、ブロックのisTriggerを付けて接触と同時に停止するように作り変えたらうまくいきました。
※天井はStaticにしなくても吹っ飛びませんが、どのみち動かさないのでStaticにしました。


コメント