본문 바로가기

전체 글 59

[Unity] 싱글톤 패턴(Singleton Pattern)

싱글톤 패턴(Singleton Pattern) 싱글톤 패턴은 이름에서도 알 수 있듯이 단 하나의 인스턴스만 존재하는것을 의미합니다. 싱글톤 패턴은 디자인 패턴(Design Pattern)에서 자주 사용되는 패턴중에 하나입니다. 유니티에서 외부 스크립트에 접근할 경우 GameObject.FindObjectOfType(), GetComponent(), 혹은 public 변수를 선언해서 인스펙터에서 드래그 앤 드롭으로 참조 등을 해야하지만 싱글톤 패턴을 사용하면 스크립트를 전역적으로 접근할 수 있습니다. 유니티에서는 게임매니저, 씬매니저와 같이 단일로 관리해야 할 경우에 주로 싱글톤 패턴을 사용합니다. 사용법은 다음과 같습니다. public class ObjectManager : MonoBehaviour { ..

·
2019. 10. 22.
·

[Unity3D] 렉트 트랜스폼(Rect Transform)

렉트 트랜스폼(Rect Transform) 렉트 트랜스폼은 UI에서 사용되는 Transform입니다. 렉트 트랜스폼에는 Width, Height, Anchors, Pivot의 속성을 가지고 있습니다. Width : UI의 넓이를 나타냅니다. Height : UI의 폭을 나타냅니다. 앵커(Anchors) 앵커는 씬뷰에서 네게의 삼각형 손잡이 모습으로 표시되며, 부모로부터의 기준을 나타냅니다. 스크린이 리사이징(Resizing)될 때 앵커를 기준으로 UI의 위치, 크기가 변경됩니다. 앵커의 x, y는 0 ~ 1 사이의 비율 값으로 설정됩니다. 앵커의 x값은 0일때 부모의 가장 좌측, 1일때 부모의 가장 우측으로 설정됩니다. 앵커의 y값은 0일때 부모의 가장 하단, 1일때 부모의 가장 상단으로 설정됩니다. 다..

·
2019. 10. 15.
·

[Unity3D] 코루틴(Coroutine)

코루틴(Coroutine) 코루틴(Coroutine)은 실행을 일시 정지하고 유니티로 제어를 넘겨주는 함수입니다. 일반적인 함수는 업데이트의 한 프레임에서 실행이 됩니다. 하지만 코루틴을 사용하면 시간에 따른 증가/감소, 다른 연산을 할때까지 대기 등을 구현할 때 유용하게 사용될 수 있습니다. ※ 단순히 함수에 딜레이를 줄 경우에는 코루틴보다 Invoke를 사용하는 것을 추천합니다. 코루틴 선언 코루틴은 기본적으로 IEnumerator의 반환형과 함수 안에 yield return 구문을 포함해서 선언합니다. 코루틴의 실행은 StartCoroutine(function()) 또는 StartCoroutine("function Name") 으로 실행합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 ..

·
2019. 10. 1.
·

[C#] 데이터를 엑셀 파일로 저장하기

C#에서 엑셀 파일로 저장하기 위해서는 Microsoft Excecl Object Library를 참조로 추가해야 합니다. 솔루션탐색기에서 프로젝트 -> 참조 우클릭 - 참조 추가를 클릭 한 후 Microsoft Excel Object Library를 체크한 후 확인을 클릭합니다. 엑셀 파일에 저장하는 코드는 다음과 같습니다. ReleaseObject(object obj) : 엑셀 객체를 사용하고 난 후 반드시 엑셀 객체를 해제(Release)해 주어야 합니다. 셀에 데이터를 저장하기 위해서는 workSheet.Cells[row, column]를 사용하는데 row, column의 인덱스는 0이 아닌 1부터 시작해야 합니다. 소스 코드를 실행하게 되면 지정된 경로에 엑셀 파일이 저장되고 다음과 같은 결과를..

C#
·
2019. 9. 26.
·

[Unity] 기본 폰트 로드 방법

기본 폰트를 로드하기 위해서는 다음과 같이 코드를 작성하고 text에 대입하면 됩니다. Font font = Resources.GetBuiltinResource("Arial.ttf"); text.font = font;

·
2019. 9. 24.
·

[Unity3D] 팝업 윈도우

유니티에서 확인, 취소, 예 아니오 등의 메세지를 띄우는 일이 많아서 팝업 윈도우를 만들었습니다. 유니티패키지를 다운받아서 사용하시면 됩니다.(Demo Scene을 참고) 사용법 Popup Window Controller 프리팹을 Hierarchy에 배치해서 사용하시면 됩니다. Popup Window Controller의 Canvas 컴포넌트에서 Sort Order를 Main Canvas 보다 높게 설정해놓았기 때문에 Hierarchy상의 순서에 상관없이 Popup Window가 제일먼저 뜹니다. PopupWindowController는 어디서든 호출할 수 있게 싱글턴 패턴으로 만들어져 있습니다. PopupWindowController.Instance.Show~() 함수를 호출하면 해당 팝업 윈도우가 나..

·
2019. 9. 23.
·

[Unity3D] 리치 텍스트(Rich Text) 설정으로 텍스트(Text) 부분 효과 설정

리치 텍스트(Rich Text) Rich Text를 설정하면 Text에 여러 서식 효과를 적용할 수 있습니다. 기본적으로 Text는 동일한 폰트와 컬러를 지원하지만 Rich Text로 설정하면 특정 단어에 굵은 표시를 한다던가 특정 단어에만 색상을 바꾸는 등의 효과를 줄 수 있습니다. Rich Text는 Text 필드에 태그 형식으로 작성합니다. ex) 특정 단어 굵게 표시 Rich Text는 태그를 중첩해서 사용할 수 있습니다. ex) 특정 단어 굵게 표시 및 색상 변경 Rich Text 태그 Tag 설명 예제 b 굵은 텍스트 Hello SSABI i 이탤릭체 텍스트 My Name is SSABI size 텍스트 크기 설정 H2O color 텍스트 색상 설정 Score : 128 tag는 대소문자를 구..

·
2019. 9. 20.
·

[Unity3D] 유니티에서 외부 파일 실행하기

using System.Diagnostics; 을 선언한 후 Process.Start("실행할 파일 경로"); 를 사용하면 외부 파일이 실행됩니다. 1 2 3 4 string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); Process.Start(path + "/Manual.pptx"); Colored by Color Scripter cs Environment.GetFolderPath(Environment.SpecialFolder.Desktop) : 사용자 바탕화면 경로 반환

·
2019. 9. 19.
·

[C#] XML Serialize/Deserialize Class

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 using System; using System.IO; using System.Xml.Serialization; public class XmlManager { public void Serialize(string path, T data) where T : class { if (data == null || path == null) return; using (StreamWriter sw = new StreamWri..

C#
·
2019. 9. 19.
·
반응형