2014. 7. 30. 16:50ㆍ프로그래밍/Coroutine
앞서서의 알파 체인지의 경우 지정값없이 0에서 1 혹은 1에서0이 되는 코루틴이었습니다.
변수몇개만 더 추가해서 작성한다면 지정된 값에서 지정된값까지 변화하는 코루틴으로 구성하는것은 쉬운 일일것입니다.
알파대신 이번에는 스케일을 변화시키는 코루틴 로직을 통해서 지정값에서 지정값으로 변화시키는 문장을 작성해 봅시다.
<내용>
//스케일값 변환하는 코루틴을 만들어봅시다
//totalTime기간동안 img의 스케일을 crescendo면 min->max 반대는 max->min으로 조정해준다
public IEnumerator ScaleChange(UISprite img, bool crescendo, float minScale, float maxScale, float totalTime )
{
yield return new WaitForEndOfFrame();
float elapseTime = 0f;
while(elapseTime < totalTime)
{
elapseTime +=Time.deltaTime;
if(elapseTime >= totalTime) elapseTime = totalTime;
if(crescendo)
{
img.transform.localScale = new Vector3( minScale + (maxScale - minScale)*(elapseTime/totalTime), minScale + (maxScale - minScale)*(elapseTime/totalTime), 1f);
}
else
{
img.transform.localScale = new Vector3( maxScale - (maxScale - minScale)*(elapseTime/totalTime), minScale + (maxScale - minScale)*(elapseTime/totalTime), 1f);
}
yield return new WaitForEndOfFrame();
}
}
활용
'프로그래밍 > Coroutine' 카테고리의 다른 글
KhjCoroutines - AniSprite (0) | 2014.08.25 |
---|---|
KhjCoroutines - DownMove (0) | 2014.07.31 |
KhjCoroutines - AlphaOnOffLoop (0) | 2014.07.31 |
KhjCoroutines - AlphaChange (0) | 2014.07.29 |
코루틴 기본형태 (0) | 2014.07.02 |