유니티 상에서 디버깅을 하기위한방법
Asset - Import 에서 Visual 을 Importing 시키면 Break 포인터를 만들 수 있다. ( = 디버깅이 가능하다 )
코드상에서
F9 브페이크 포인트 만들기
F5 디버깅 모드 시작
UNITY 플레이
이제부턴 F5를 누르면 한스텝씩 넘어가게된다 물론 브레이크 포인터에서 걸린 이후에
F7 을 누르면 디버깅이 중단된다. ( Shift + F5 ?? )
그런데 왠만하면 하지말고, 그냥 Log 로 하는것이 났다고 한다.
////
Unity 상에서 배열 선언
예를 들어서 int 배열 1000 크기를 선언한ㄷ고 하면
int[ ] array = new int[1000]
이런식으로 선언을 할수 있고, 그냥 원래 쓰던대로 사용하면된다.
배열의 요소갯수를 알아내는 아주 쉬운 방법이 여기있다.
array.Length 를하면 배열 내부의 요소숫자를 반환해준다.
for( int a = 0 ; a < array.Length ; a++ )
하면 된다.
////
Vector
벡터에 관하여, 벡터는 기본적으로 배열이기 때문에, 그 크기 자체는 고정이지만
범위가 넘어가는 요소가 들어오면, 그때 더큰메모리(배열)을 만들어서, 기존 값들을 복사하여 넣고, 추가된 요소를 넣는 방식이다.
그런데 이러한 구조를 가진 벡터에 첫번째요소부분에 새로운 요솔 추가하게되면,일단 맨 뒤부터 한칸씩 뒤로
밀리게 되느데, 범위가 넘어가게되면 새로운 배열을 또 만들고 이동시키고 하칸씩 미루고를 반복하게되어 굉장한 오버헤드가 발생하게 된다.
///
Switch 상에서 실수 금지 ( if 문도 마찬가지 )
원칙적으로 제어문엣는 int, bool, 문자(열), enum, null 만이 값이 될수 있다.
우리가 컴퓨터상에서 보게되는 0.0은 0이 아닐수도 있다 사실은 0.000000000000001 일수도 있다 그래서 Switch 문에서 float 나 double 같은 실수 형태를 사용할수가 없다.
예를 들어 case 0.7 이라고 해쓴데 실은 이는 0.699999999999999 일수도 있기 때문이다. 알아 두자 원 칙 적으로 불가하다.
내부적으로 되게 처를 따로 해준것일뿐이다. 원칙적 불가하다 !!
///
Foreach 문
foreach 라는 반복문이 있다.
반복문을 어떤 배열 등에 요소 갯수만큼 돌때, 사용할수 있는데 사용방식은 단순하다
foreach( 자료형 변수명 in 배열등 이름 )
이런 방식으로 일어나는데 예시를 들어보면
foreach ( int temp in array ) {
Debug.Log(temp)
}
이러면 array 들어있는 수만큼만반복문이 들어가게 됡ㅅ이다. 여기서 중요한 특성이있는데 이 foreach 문으로 인해
값을 가지게된 temp 는 array에있는 값을 복사해서 가져오긴했지만 배열에 있는 값 그 자체는 아니다. 거기다 개발자들은 더해서
수정도 불가능하게 해놨다!!
foreach 는 Read Only 라고 할수 있다.
한술 더떠서 저 temp 라는 변수는 수정이 불가하다.
즉 값은 읽되 변화나 기입은 불가능하다.
///
열거형( enum )
enum JOB{
KNIGHT = 0,
MAGICIAN,
ARCHER,
WORKER,
FORTUNE_TELLER
}
이제부터 MAGICIAN 은 1이고 ARCHER 은 2이고 ...
///
string text = "12345"
int.Parse( text )
12345 숫자로 반환 해줌
///
잘쓰기는 쉽게만들고 잘못쓰기는 어렵게 만들어야 한다. By 선생님