프로그래밍(58)
-
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 -
TypeLoadException
항상 잘 돼던 프로젝트를 딱 열었을 때... 어제 끌 때까지만 해도 이상이 없었는데 TypeLoadException: Could not load type 'UIInputEditor' from assembly 'Assembly-CSharp-Editor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. 라는 메세지를 처음 접하면 참 당황스럽다 뭐지? 하고 있으면 같은 메세지가 아래 하나 더생긴다. 오류가 두줄 이상 생기기 시작하면 심장이 1.2배정도 빨라진다 ;-
2014.07.29 -
SendMessage()
SendMessage("MethodName") 함수는 다른 오브젝트의 함수를 호출하는데 유용하게 쓸수 있는 함수다. SendMessage("MethodName", _arg) 로 인자값을 하나 넘길수도 있다. 그런데 사용하다보면 sendmessage ~~~~ has no receiver 라는 에러가 발생하는 경우가 종종 있다. 이건 말그대로 지정해준 함수를 찾지 못하겠다는 이야기이다. 기본적으로 SendMessage 는 해당 스크립트를 가지고 있는 게임오브젝트 내에 존재하는 함수를 검색한다. 그렇기 때문에 이부분에서 잠시 착각하면 함수를 못 찾는 경우가 발생할 수 있다. 아래의 코루틴을 보라.(이 코루틴만 독립된 싱글턴 스크립트 KhjCoroutines에 두었다.) 어떤 대상오브젝트를 지정시간동안 스타트에..
2014.07.09