Unityに関連する記事です

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

25.GameManagerスクリプトを修正するА〇弔蟷間0になったらリザルトポップアップを画面内に移動させる



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

・DOTweenの機能と実装例 淵押璽爛ブジェクトの移動、メソッドチェーン、コールバック処理) −DOMoveYメソッド、SetEaseメソッド、OnCompleteメソッド−



25.GameManagerスクリプトを修正するА〇弔蟷間0になったらリザルトポップアップを画面内に移動させる


 GamanManagerスクリプトを修正して、残り時間が0になったときに、少し待ってからResultPopUpゲームオブジェクトを
画面上部からゲーム画面の中央に向かって移動させて表示します。

 ResultPopUpゲームオブジェクトを扱えるようにするため、宣言フィールドにResultPopUpゲームオブジェクトを代入する変数を用意します。

GameManager.cs

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




 GamanManagerスクリプトの修正が終了したら、GamanManagerゲームオブジェクトのインスペクターを確認します。
宣言フィールドで追加した ResultPopUp 変数のアサインが登録できるようになっていますので、
ヒエラルキーのCanvas内にあるResultPopUpゲームオブジェクトをドラッグアンドドロップしてアサインします。

GamanManagerのインスペクター画像



 ゲームを実行して動作を確認します。残り時間が 0 になってから 1.5秒後に ResultPopUpゲームオブジェクトが画面の中央に向かって移動し
移動完了後にConsoleにDebug.Logが表示されていれば正常に処理が動いています。

実装動画
https://gyazo.com/851a858aa7c5aa50751b238256074484


<DOTweenの機能と実装例 


 DOTweenによる補間処理を実装しています。スクリプト内でDOTweenの処理を実装するためには、最初に using による宣言が必要になります。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;                      // ☆ <= 追加します


 このスクリプト内では3つのメソッドを利用していますので、順番に説明していきます。

resultPopUp.transform.DOMoveY(0, 1.0f).SetEase(Ease.Linear).OnComplete(() => { Debug.Log("リザルト内容を表示します"); });



<1.DOMoveY(float endValue, float duration)>

 DOMoveYメソッドは、ゲームオブジェクトの位置をY軸(transform.position.y)だけ移動させる処理です。
移動時に補間処理を行うことでアニメーションしているように見せてくれます。

 このメソッドは処理を行いたいゲームオブジェクトの、transfromに対して実行します。ここではResultPopUpを移動させる命令を行いたいので
ResultPopUpゲームオブジェクトの代入されている resulutPopp 変数の transform に対して処理を行うようにしています。

 transform.DOMoveY()の第1引数はfloat型で、移動させる位置を指定します。今回はゲーム画面内の中央部分に移動したいので 0 を指定しています。
第2引数はfloat型で、移動する際にかかる時間を指定します。今回は 1.0f なので、1秒かけて ResultPopUpゲームオブジェクトのYの位置を
0 の位置(ゲーム画面の中央)まで移動をさせる、という命令になります。

ResultPopUpゲームオブジェクトのインスペクター動画
https://gyazo.com/7c85aba9b590c4be720a7fe61194a560



<2.SetEase()>

 SetEaseメソッドは他のDOTweenのメソッドに付随する処理です。このようにDoTweenではDoTweenのメソッド同士を1つの処理の塊として続けて処理を行うことができます。
処理を続ける場合には、前のメソッドの後にピリオド(ドット)を書くことで、次のメソッドを書くことが可能です。こういった処理をメソッドチェーンといいます。

 SetEaseメソッドではEaseというアニメーションさせる際のパターンを変更することができます。Easeはenum型で設定されており、Ease.タイプ の書式で記述します。
非常に多くの種類があります。今回は最も一般的は Ease.Linear を使用しています。
 


<3.OnComplete()>

 OnCompleteメソッドも他のDOTweenメソッドに付随する処理です。この処理はコールバック処理になっており、一緒に処理しているメインのメソッドの処理の終了を待ちます。
その処理が終了してから、このOnCompleteメソッドの中に記述した処理を実行してくれます。

 今回はMoveYメソッドによって移動した後に、OnCompleteメソッドの処理が実行されるようになっています。
移動した後に、ConsoleにDebug.Logを表示しています。



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


 次は 手順14 です。

コメントをかく


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

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

Menu



技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

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

3D脱出ゲーム(抜粋)

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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