전체보기

이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론이전 파트에서 배웠듯이 디버깅을 위해 Debug.Log를 사용하여 정보를 출력해봅니다. 출력 후 이제 볼 일이 없으니 코드를 주석 처리하거나, 완전히 지우곤 합니다. 하지만 코딩을 하다 보면 아까 지웠던 코드들이 다시 필요하여 입력하여야 되는 귀찮은 경우가 생깁니다. 이는 임의의 전역 선언을 통해 해결할 수 있습니다. 1. 컴파일 오류 & 콘솔2. Debug.Log는 만능 해결사?3. 플래그를 이용한 디버깅4. 시각적 디버깅5. 오류의 기록6. 에디터 디버깅7. 모노디벨롭을 통한 디버깅 플래그 사용법 먼저 임의의 전역 선언을 하겠습니다. Edit ☞ Project Settings ☞ Player 를 클릭합니다. Splash Image ☞ Scr..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론안드로이드의 Log.i, Log.e 와 같은 콘솔 창에 주석과 같이 로그를 띄워주면서 사용하는 것을 매우 많은 개발자들이 손쉬운 디버깅의 도구로 뽑고 있습니다. 유니티에도 같은 기능인 Debug.Log가 있는데 사용 방법과 한계를 알아보도록 하겠습니다. 유니티 디버깅 목차1. 컴파일 오류 & 콘솔2. Debug.Log는 만능 해결사?3. 플래그를 이용한 디버깅4. 시각적 디버깅5. 오류의 기록6. 에디터 디버깅7. 모노디벨롭을 통한 디버깅 사용방법 사용 방법은 굉장히 간단합니다. Debug.Log를 쓰고 내용으로 string 타입의 인자들을 넣어주면 됩니다. 상위 클래스인 MonoBehaviour 클래스에서는 어떤 변수든 string으로 변환시..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론2. Debug.Log 파트에서 다뤘듯이 Debug.Log는 만능 해결사가 아닙니다. 출시될 프로그램이라면 모두 삭제를 하여야하고, 과하게 많은 메시지를 콘솔에 보여줌으로서 디버깅에 방해가 될 수 있습니다. 또한 코드를 변경하기 때문에 이상적인 방법이 아닙니다. 이번 파트에서는 모노디벨롭에서 제공하는 기능들을 네이티브로 유니티에 붙여서 사용하는 굉장히 편리한 방법에 대해서 배워보도록 하겠습니다. 1. 컴파일 오류 & 콘솔2. Debug.Log는 만능 해결사?3. 플래그를 이용한 디버깅4. 시각적 디버깅5. 오류의 기록6. 에디터 디버깅7. 모노디벨롭을 통한 디버깅 중단점 설정과 Watch & Local 창중단점이라는 것은 유니티 프로그램을 실행..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 Program testing can be used to show the presence of bugs, but never to show their absence! - Edsger W. Dijkstra 다익스트라 알고리즘으로도 유명한 컴퓨터 과학자 다익스트라는 다음과 같이 말했습니다. '프로그램 테스팅은 버그의 존재를 보여주는데 사용할 수 있지만, 그들이 없음을 증명할 수는 없다!'. 즉, 우리가 사용하는 어떠한 디버깅 툴을 이용하더라도 모든 버그를 없앴다는 것을 확신할 수 없습니다. 모든 오류를 없앨 수는 없지만 유니티 내에서 정해진 시간과 예산 내에서 가능한 많은 버그를 바로잡는 것을 목표로 유니티의 디버깅의 종류와 방법을 알아보도록 하겠습..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론우리는 하나의 클래스로 여러 객체를 생성하는 것을 배웠습니다. 하지만 하나의 클래스로 만든 객체는 속성, 메소드가 다 똑 같기 때문에 너나 할 것 없이 같은 행동을 하고 같은 속성을 띌 것입니다. 우리는 이를 해결하기 위해 저번 파트에서 다뤘던 상속과, 오버라이드 함수를 통해서 다형성을 구현해보록 하겠습니다. 다형성에 대하여다형성은 상속의 뒤를 이어 객체 지향 프로그래밍의 특징을 보여줍니다. 상속 계층도에서 부모 클래스가 가상 메소드를 만들고 파생되는 클래스 계층에서 이를 오버라이드(재정의)하여 각각의 파생 클래스 별로 다른 기능을 수행하도록 하는 것입니다. 부모 클래스에서 protected(상속 받은 객체만 사용 가능) virtual(가상의)..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론유니티에서 클래스라는 것, 스크립트 라는 것은 오브젝트에 생명을 불어 넣는 온기와 같습니다. 아무 움직임 없는 오브젝트에 붙여 넣어 이름을 붙여주고, 걷게하는 등 오브젝트를 오브젝트답게 사용하도록 해주는 것이죠. 클래스에 대하여클래스는 기본적으로 속성(변수)와 행동(메서드)로 이루어져 있습니다. 속성이라함은 이름, 나이, 성별 같은 개체에 특별히 주어지는 말 그대로 속성이고, 행동은 함수나 메소드로 불리는 어떠한 것을 수행하는 것을 말합니다. 클래스의 상속 위와 같은 트리구조를 상속 계층도라고 합니다. 상속이라는 것은 상위의 부모 클래스의 변수, 메소드를 모두 흡수해서 완전히 새로운 클래스를 만드는 것으로, 원래의 상위 클래스는 건들이지 않으면..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론프로퍼티(Property)는 속성이라는 의미를 가지고 있습니다. 클래스에서 멤버 변수를 속성이라고도 하는데 우리는 정보은닉을 위해 이를 private로 선언하여 해당 변수가 선언된 클래스 외부에서 접근이 불가능하게 할 것이냐, 아니면 편의성을 위해 public으로 선언할 것이냐 고민하곤 했습니다. 그래! 정보 은닉을 위해 private로 선언하자! 생각하여 private 를 사용하면 또 불편한 점이 생겼습니다. getter 메소드와 setter 메소드를 구현해야 하는 것이죠. 이를 편리하게 해주는 C#의 프로퍼티를 배워보도록 하겠습니다. 프로퍼티 사용법 아래와 같이 우리는 private로 선언한 변수를 얻거나 세팅하기 위해 get, set 메소..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론프로그래밍 언어의 종류와 무관하게 반복문은 굉장히 많이 쓰이는 것을 알 수 있습니다. 특히 게임에서의 반복문은 굉장히 큰 비중을 차지하고 있습니다. 이번 파트에서는 foreach문, for문, while문을 통해 이전 파트에서 배열을 통해 생성한 코드를 아래와 같은 결과가 나오도록 수정하는 방법에 대해 배워보도록 하겠습니다. foreach문 foreach문은 이전 파트에서 배웠던 배열과 연관이 있는 구문입니다. C#에서 가장 간단한 반복문이라고 할 수 있습니다. 배열의 첫 번째 인자부터 마지막 인자까지 넘겨서 foreach문 내부에서 어떠한 처리를 진행할 수 있습니다. foreach (type obj in Array){// 넘겨받은 obj에 대..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 배열하나의 변수 이름으로 여러개 데이터를 담을 수 있는 묶음형 변수입니다. 아래와 같이 선언합니다. int [ ] number = new int [5]; 데이터타입 [ ] 배열 이름 = new 데이터타입 [담을 데이터 개수]; 배열의 사용법 배열을 선언한 후 할당은 '배열이름[인덱스] = 할당값' 의 방법으로 합니다. 배열의 인덱스의 접근도 '배열이름[인덱스]' 가능합니다. using UnityEngine; using System.Collections; public class Sample : MonoBehaviour { int[] num = new int[5]; // Use this for initialization void Start () { n..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론간단하게 if문, switch문, ?문의 3가지 조건문에 대해서 알아보고, 유니티에서 어떻게 쓰일지 생각해보는 시간을 가지도록 하겠습니다. if문if문은 무척 유용하게 쓰입니다. 예를 캐릭터의 피가 40%가 되면 경고를 띄우고 0이 되면 죽는다던가, 돈이 5000원이 되면 무기를 살 수 있다던지 다양한 곳에 수도 없이 쓰이는 것이 if 문입니다. 가장 많이 사용하는 기본적인 조건 판단 구문이죠. if (조건 판단을 위한 식 / 참 거짓 값) { } else if (조건 판단을 위한 식 / 참 거짓 값) { } else { } 위와 같이 사용하며, if ( ) 안의 내용이 참일 때는 상단 { } 안의 코드가 실행되고 else if ( ) 내용이 ..
에반황
'분류 전체보기' 카테고리의 글 목록 (9 Page)