KhjCoroutines(5)
-
KhjCoroutines - AniSprite
이번엔 코루틴으로 스프라이트 애니메이션을 구현해 보려고 합니다. 스프라이트 이미지의 이름이 "name_번호"(프레임 인덱스는 0부터 시작) 이라는 전제로 만들어 보겠습니다. //내용 1. 시작프레임에서 종료프레임까지 스프라이트 이미지를 일정간격으로 변경하여 애니메이션 합니다. 2. 프레임 종료후, 적용시킬 애니메이션 동작이 구현되어 있다면 설정합니다. 2. 종료후에 처음 이미지로 지정한 시간후에 초기화 시킵니다. public IEnumerator AniSprite(UISprite img, string name, float frameSpeed, int startFrame, int endFrame, bool init = true, float initTimer = 3f, string endAnimation =..
2014.08.25 -
KhjCoroutines - DownMove
이번 글에서는 이미지의 이동과 관련한 코루틴을 작성해보려합니다. 현재위치보다 지정높이만큼 위에서 시작하여 현재위치로 떨어지는 듯한 이펙트로 활용가능한 코루틴입니다. 주로 이펙트로 사용할 로직이다보니 이동을 하고나서, 원래 위치로 돌아와야 다음에 사용할 때 제위치에서 동작할 수 있을 겁니다. 그래서 코루틴 로직 종료시점에 이미지를 원래 위치로 복귀시키는 로직을 작성해봅시다. //내용 //지정 높이만큼 다운(-면 업) 이동 후 제자리로 // img 를 downHeight 값만큼 totalTime시간동안 아래로 이동시킨 다음 // init이 트루면 모든동작이 끝나고 initTimer 시간이후 원래자리로 돌아간다 public IEnumerator DownMove(UISprite img, float downHei..
2014.07.31 -
KhjCoroutines - AlphaOnOffLoop
이번엔 지난 AlphaChange 를 일회성이 아닌 반복해서 보여지도록 Loop로직을 작성해보려합니다. //내용 //알파값 토글 반복 //onTime기간동안 0->1 (or) offTime기간동안 1->0 변환하는 토글, crescendo면 0->1 반대는 1->0부터 토글을 시작한다 //무한루프일 경우 roop변수를 트루, 아닐경우 펄스하고 반복횟수를 cnt로 조정해준다 public IEnumerator AlphaOnOffLoop(UISprite img, float onTime, float offTime, bool crescendo = true, bool roop = false, int cnt = 1) { yield return new WaitForEndOfFrame(); float elapseTime..
2014.07.31 -
KhjCoroutines - ScaleChange
앞서서의 알파 체인지의 경우 지정값없이 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 ..
2014.07.30 -
KhjCoroutines - AlphaChange
이 게시판에서는 기본적인 동작을 가진 코루틴들을 하나씩 만들어보겠습니다. NGUI 와 애니메이션으로도 충분히 처리 가능한 로직들이지만, 코루틴을 모아서 스크립트로 구현해두고 때에 따라 불러서 사용하면 어떤 프로젝트를 진행하든 자신에 손에 익은 로직으로 구현할수 있는 훌륭한 자산이 될수 있습니다. 개인적으로 애니매이션은 하나의 애니메이션만 동작시킬수 있고, 때에 따라서는 지정된 값이 아닌, 변수값으로 위치정보 등을 받아와야 할 경우 활용이 애매했던 경험이 있습니다. 코루틴은 동작마다 구분지어 놓으면 각자의 코루틴의 제역할을 해냅니다. 물론 퍼포먼스의 속도나 메모리사용에 관한 점에 대해서는 다른 관점이 있을수 있겠습니다. 다만 코루틴 퍼포먼스가 생각만큼 느리지 않고, 효율적인 면이 있다는 것은 다음에 기회가..
2014.07.29