2017-10-15 21 views
2

私はこのコードを以下のようにして、クワッドのスクロールバックグラウンドを作成します。私の質問は、一定時間後に背景のスクロールを止める方法です。たとえば、スクロールしている画像の最後に到達した後、残りのレベルの背景としてロックされる最後の表示された部分が必要になります。私のプレイヤーは一定のスピードを持っているので、20秒後にはスクロールを止めて画像を保存することができます。私はUnityにとって本当に新しいものです。私はそれをどうやって行うのか本当にわからないし、働く方法も見つけました。私は助けに感謝します!一定時間後にテクスチャスクロールを停止する方法

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class BG : MonoBehaviour 
{ 

    public float speed; 
    void Start() 
    { 

    } 
    void Update() 
    { 
     Vector2 offset = new Vector2(0, Time.time * speed); 
     GetComponent<Renderer>().material.mainTextureOffset = offset; 
    } 
} 

答えて

2

あなたはTime.deltaTimeUpdate機能付きまたはコルーチンでシンプルなタイマーでこれを行うことができます。あなたのケースで秒に達するまで、Time.deltaTimeでタイマー変数を増分するだけです。

float timer = 0; 
bool timerReached = false; 
const float TIMER_TIME = 30f; 

public float speed; 

void Update() 
{ 
    if (!timerReached) 
    { 
     timer += Time.deltaTime; 

     Vector2 offset = new Vector2(0, Time.time * speed); 
     GetComponent<Renderer>().material.mainTextureOffset = offset; 
    } 


    if (!timerReached && timer > TIMER_TIME) 
    { 
     Debug.Log("Done waiting"); 

     //Set to false so that We don't run this again 
     timerReached = true; 
    } 
} 
+1

魅力的な作品です。ありがとうございました ! – TheNewbie

関連する問題