オブジェクトのサイズを徐々に大きくする方法について見ていきましょう。
今回の方法でも、コルーチンによる「○秒待つ」とfor文を入れて作成します。
オブジェクトが少しずつ大きくなり、約2倍サイズのところでストップします。
関連記事:
1秒おきにオブジェクトを3個生成
【Unity C#】約1秒間かけて90°回転
オブジェクトを徐々に透明にする
ぶつかるとn秒間スピードアップ
コルーチンで秒おきのループ
CubeScale.csを用意して、Cubeオブジェクトに追加しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeScale : MonoBehaviour { void Start() { StartCoroutine("ScaleUp"); } IEnumerator ScaleUp() { for ( float i = 1 ; i < 2 ; i+=0.1f ){ this.transform.localScale = new Vector3(i,i,i); yield return new WaitForSeconds(0.1f); } } } |
Unityのfor文については、「for(初期化;条件式;反復子)」
条件式は、「その条件を満たしている間は実行する」という意味合いになります。
今回の例では、iが2より小さい間は処理がループされます。
プレイしてみましょう。
コルーチンで0.1秒待つを繰り返し、ゆっくりとした動きをつけることができました。
関連記事:
1秒おきにオブジェクトを3個生成
【Unity C#】約1秒間かけて90°回転
オブジェクトを徐々に透明にする
ぶつかるとn秒間スピードアップ