본문 바로가기
반응형

tips/자주쓰는 C# 스크립트26

유니티, 일정한 시간 딜레이와 반복 Invoke 일정한 시간 후에 함수 호출하거나 일정한 시간 후에 일정한 시간마다 반복 호출. Coroutine보다 퍼포먼스가 좋고, Update보다 사용하게 편리하다. using UnityEngine ; using System.Collections.Generic ; public class Example : MonoBehavior { float delayTime = 1f ; float repeatTime = 1f ; Invoke("StartSomething", delayTime) ; // 1초 후에 StartSomething을 호출 InvokeRepeating("RepeatSomething", delayTime, repeatTime) ; // 1초 후에 RpeatSomething을 처음 호출하고, 이후 1초마다 호출... 2020. 12. 18.
유니티 DateTime을 string으로 DateTime dateValue = DateTime.Now ; string stringValue ; // DateTime to String stringValue = dateValue.ToString("yyyy/MM/dd hh:mm:ss") ; // String to DateTime dateValue = DateTime.Parse("2020/11/4") ; 2020. 11. 5.
자주쓰는 유니티 Application 이벤트 using UnityEngine ; public class Code : MonoBehaviour { // 일시정지 void OnApplicationPause(bool pauseStatus) { // 일시정지할 때 할 일 } // 일시정지 해제 void OnApplicationFocus(bool focusStatus) { // 다시 활성화될 때 할 일 } // 어플리케이션 종료 void OnApplicationQuit() { // 종료시 할 일 } // MonoBehaviour가 제거될 때 void OnDestroy() { // 제거될 때 할 일 } // behaviour가 disabled 또는 비활성화 되는 때 void OnDisable() { // 비활성화시 할 일 } // 오브젝트가 활성화 될 때 v.. 2020. 11. 1.
유니티에서 반올림, 올림, 내림 float num = 1.5f ; float result_float ; int result_int ; result_float = Mathf.Round(num) ; // 반올림 result_float = Mathf.Ceil(num) ; // 올림 result_float = Mathf.Floor(num) ; // 내림 result_int = Mathf.RoundToInt(num) ; // int형 반올림 result_int = Mathf.CeilToInt(num) ; // int 올림 result_int = Mathf.FloorToInt(num) ; // int 내림 2020. 10. 31.
유니티에서 천 단위 숫자에 콤마 찍기 int num = 2000 ; string result ; result = string.Format("{0:#,0}", num) ; Debug.Log("result : " + result) ; // result : 2,000 숫자에 천 단위마다 콤마를 넣은 문자열로 변환하는 방법. 2020. 10. 17.
유니티 프리뷰할 때 시작할 씬Scene 정하기. class MyClass { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] static void OnBeforeSceneLoadRuntimeMethod() { Debug.Log("Before first Scene loaded"); } [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] static void OnAfterSceneLoadRuntimeMethod() { Debug.Log("After first Scene loaded"); } } 유니티 빌드셋팅에 등록되어 있는 씬이 로드되기전에 실행하여 지정한 씬으로 이동하도록 함. 2020. 9. 28.
유니티 씬 로딩이 끝날 때 까지 기다리기 IEnumerator Start() { AsyncOperation async = Application.LoadLevelAsync("scene") ; yield return async ; // Do something. } 씬 로딩이 끝나면 다음 행으로 진행된다. 2020. 9. 28.
유니티 스크립트 동적으로 붙이기 AddComponent GameObject a = GameObject.Find("a") ; a.AddComponent() ; // Type을 이용해 첨부. a.AddComponent("Script") ; // 스크립트 이름을 이용해 첨부. Script script = a.AddComponent() as Script ; // 스크립트를 첨부함과 동시에 변수로 활용. 스크립트가 어셋에 존재하면 첨부가 가능하고, 스크립트 붙임과 동시에 레퍼런스로 즉시 활용 가능. 2020. 9. 24.
유니티 콤포넌트(스크립트) 이름 알아내기 GetType() ; 오브젝트의 System.Type을 리턴. GetType().ToString() ; type을 string으로 변환해서 사용. 2020. 9. 17.
유니티 unity. 실행 중 화면 꺼짐, 슬립 모드 설정. 게임 실행중 모바일 기기의 화면이 꺼지지 않도록 슬립 모드에 들어가는 시간을 설정. Screen.sleepTimeout = SleepTimeout.NeverSleep; 참고. docs.unity3d.com/ScriptReference/Screen-sleepTimeout.html 2020. 9. 12.
유니티에서 비활성화 되어있는 게임오브젝트 접근. transform으로 경로를 찾아들어가면 접근 가능. GameObject dObj ; dObj = transform.Find("path").gameObject ; // 경로를 타고 접근 print ("> status : " + dObj.activeSelf) ; ------------------------------------------------------------ // > status : False 2020. 9. 3.
유니티 Light2D 스크립트 접근 유니티에서 2D라이트 스크립트로 접근. using UnityEngine.Experimental.Rendering.LWRP ; public class DayLight : MonoBehaviour { private UnityEngine.Experimental.Rendering.Universal.Light2D light ; void Start() { light = GetComponent() ; light.intensity = 0.5f ; } } 2020. 7. 13.
반응형