[Unity] Timestamp 구하는 방법 타임스탬프를 구하여 여러가지 사용할 일이 있다.가장 쉽게 구하는 방법이다. 1234var now = DateTime.Now.ToLocalTime();var span = (now - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime());int timestamp = (int)span.TotalSeconds; Colored by Color Scriptercs timestamp는 거의 고유하기 때문에 고유한 아이디를 구할 때 사용하기 좋다.
[Unity] 숫자 콤마(,) 넣기 (금액표시 유용) 게임개발 하다보면 콤마가 들어간 숫자 형식은 거진 들어간다고 보면 됩니다. 게임머니, 코인, 보석 등 모든 수에 숫자형식은 무조건 필수!C에서는 직접 함수를 만들어 주었지만 C#에서는 이미 만들어져 있습니다.아주편리하게 사용할 수 있어요! int won = 123456890;Console.WriteLine(string.Format("{0:n0}", won));Console.WriteLine(string.Format("{0}", won.ToString("n0"))); ;Console.WriteLine(string.Format("{0:#,##0}", won));Console.WriteLine(string.Format("{0}", won.ToString("..
[Unity] 특별한 전처리기(Preprocesor) 플래그 사용 앱을 출시하기 전까지 수 많은 테스트와 디버깅을 한다.이 과정에서 테스트 시에만 사용해야 할 코드가 있고출시해야할 때는 제거해야하는 코드가 있다. 즉 릴리즈(release) 코드와 디버그(debug) 코드 2가지가 있는 것인데매번 디버깅을 할 때 코드를 추가하고 릴리즈 할 때는 제거하고디버깅 코드를 삽입 후 릴리즈 할 때는 주석 처리를 하려고 한다면개발자가 귀찮은것도 있지만 가장 중요한 문제는릴리즈에 디버깅용 코드가 들어 간다는 점이다. 실제로 디버깅 코드가 배포되어 문제가 되는 경우도 다반사다.이런 문제를 해결 하기 위해 유니티에서는전처리기 플래그 기능이 들어 있다. 예를 들어 코드를 한번 보도록 하자. 123456789101112131..
[Unity] UI Toggle을 이용한 Tap 기능 만들기 게임을만들다 보면 UI중 탭 기능이 필요할 때가 있다.예를 들어 클래시 로얄을 살펴보도록 하자. 클래시 로얄에는 채팅, 검색, 친구 3가지 탭이 있다. 탭을 누를 때마다 레이어가 바뀐다. 현재 채팅 탭이 활성화 되어 있다. 현재 검색 탭이 활성화 되어 있다. 현재 친구 탭이 활성화 되어 있다. 탭 기능은 모든 게임에 들어가는 것은 아니지만하나의 레이어의 여러가지를 보여 주어야 할때 유용하게 쓰인다. 3개의 버튼을 배치해 UI를 디자인 할 수도 있지만 깔끔하진 않아탭을 만이 이용하는 편이다. 유니티에서는 탭이라는 UI따로 있지는 않지만 Canvas UI에 Toggle이라는 기능이 있어쉽고 빠르게 탭기능을 만들수가 있다. 그럼 쉽고 빠르게 탭 기능..
[Unity] SerializeField와 HideInInspector 유니티의 가장 강력한 기능이 무엇이냐 물어본다면여러가지 이유를 말 할 수있지만 나는 그 중에서 유니티의 에디트 기능을 말하고 싶다. 유니티의 에디트의 기능은 놀랍다.그 이유는 실행 중에 변수의 값을 변경하여 사용자가 이것 저것 테스트를 해볼 수 있다는 점이다. cocos2d-x의 예를 들면 적의 이동 속도를 조절 하기 위해 변수의 값을 변경하고 다시 컴파일을 해야 한다. 이것이 한두번 이면 용납 가능하지만 수십번의 테스트를 하려면수십번의 컴파일이 필요하고 컴파일의 대한 시간도 같이 들어 간다. 유니티에서는 이 부분을 변수를 Public으로 선언하여 에디터에서 컴파일을 하지 않고 런타임 중에 변수의 값을 변경하여 테스트를 해볼 수 있다..
Canvas UI Button을 활성 비활성 시켜보자!! Canvas에서 동작하는 UI -> Button을 사용하는데 중간에 버튼 클릭을 막아야 할 경우가 있다.보통 cocos2d-x에 버튼 같은 경우 setEnable와 같은 함수가 있어 true/false를 해주면 되었는데유니티의 버튼은 없어서 조금 당황 했었다. 찾아보니 없는건 아니였고 이름이 조금 틀렸을 뿐이다.아래 코드를 보면 쉽게 알 수있다. 1234567891011using UnityEngine.UI; private Button btn; void Start() { btn = item.transform.Find("Button").GetComponent(); btn.interactable = false; // 버튼 클릭을 비활성 btn.inter..
DoTween Sequence 사용법 DoTween 중 Sequence에 대해 알아 보도록 하자. 가장 많이 사용 되기도 하고 이리저리 많은 애니메이션을 구현할 수 있기 때문에 DoTween을 사용 한다면 많이 알 수도록 쉽고 편하게 애니메이션을 구현 할 수 있다. 1234567891011121314151617using DG.Tweening; //DoTween SequenceSequence seq = DOTween.Sequence();seq.Append(animation); // animation 바로 실행 seq.Append(animation2); // animation 완료 후 animation2를 실행seq.AppendInterval(1.0f); // 1초를 기다림seq.AppendCallback(..