Unityに関連する記事です

 以下の内容で順番に実装を進めていきます。

12.GameManagerスクリプトを修正する 同じ干支同士をスワイプして繋げられるようにする



 新しい学習内容は、以下の通りです。

・Vector2.Distance()メソッド



12.GameManagerスクリプトを修正する 同じ干支同士をスワイプして繋げられるようにする


 GameManagerスクリプトを修正して、画面内の干支同士をドラッグ(スワイプ)してつなげていく処理を実装していきます。
合わせて、異なる干支同士がつながらないようにも制御していますので、その部分もデバッグ時には確認を行います。

 2つ以上の同じ干支をつなげて、前の干支にドラッグを戻した場合、つながっていた干支同士のつながりが解除される処理も実装しますので
こちらもデバッグ時には忘れずに確認を行います。例えば、3つの干支がつながっている場合に2つ目の干支にドラッグを戻した場合、
3つ目の干支が削除の対象から外れて(削除リストから除外されて)、干支の透明度が元の透明度に戻るようになります。


GameManager.cs

 <= クリックすると開きます。



<Vector2.Distance()メソッド>


 第1引数と第2引数に指定したVector2型の2点間の距離を、float型に変換して距離として戻してくれるメソッドです。
戻り値に合わせて辺にはfloat型の変数を用意して代入させます。

// 現在タップしている干支の位置情報と最後にタップした干支の位置情報と比べて、差分の値(干支通しの距離)を取る
float distance = Vector2.Distance(dragEto.transform.position, lastSelectEto.transform.position);
 
Unity公式スクリプトリファレンス
Vector2.Distance
https://docs.unity3d.com/ja/current/ScriptReferenc...


ゲームを実行して動作を確認する


 スワイプ処理を追加しましたので、画面の干支をタップしたまま同じ種類の干支へとそのまま移動をさせてみましょう。
Editorで確認する場合には、左クリックをしたまま同じ干支へとカーソルを移動させます。

 同じ干支同士をつながることができれば、その新しい干支の透明度が半透明になり、GameManagerゲームオブジェクトのEraseEtoListに追加されます。

 このとき、別の画像の干支同士がつながってしまわないかも、合わせて確認を行います。

 また、2つ以上の干支をつないだ状態で1つ前の干支に移動をさせた場合、つながっていた干支がつながっていない状態に戻るかも確認してください。


検証動画(つながった干支同士の色が半透明になる。他の画像の干支にはつながらない。前の干支に戻るとつながりが解除される)
https://gyazo.com/9fdc1ac54f3a558ac17eb37fa6b34f19


GameManagerゲームオブジェクトのインスペクター動画(干支同士がつながったり、つながりが解除されたりするたびに、EraseEtoListに追加・削除が行われる)
https://gyazo.com/9fdc1ac54f3a558ac17eb37fa6b34f19



 以上でこの手順は終了です。

 次は 手順7 です。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます