2017-10-15 1 views
2

아래 코드를 사용하면 쿼드가있는 스크롤 배경을 만들 수 있습니다. 내 질문은 어떻게 특정 시간 후 배경의 스크롤을 중지 할 수 있습니다. 예를 들어 스크롤 이미지의 마지막 부분에 도달 한 후에 나머지 레벨의 배경으로 잠글 수있는 마지막 보이는 부분을 원합니다. 내 플레이어가 일정한 속도를 가지고 있기 때문에 나는 20 초 후에 스크롤을 멈추고 이미지를 유지할 수 있다고 상상했다. 나는 화합에 정말로 새로운 사람이며, 나는 그것을하는 법을 모르거나 그 방법을 찾았다. 나는 도움을 주시면 감사하겠습니다!특정 시간이 지나면 텍스처 스크롤을 멈추는 방법

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

관련 문제