지금까지는 유니티에서 제공되는 컴포넌트만 사용해봤었는데요.

게임오브젝트에 어떤 컴포넌트가 추가되는지에 따라서 그 게임오브젝트의 역할이 달라졌습니다.

유니티에서 컴포넌트를 직접 구현하고 싶을때에는 스크립트라는 것을 이용하는데요.

스크립트는 C#, ,javascript 등의 프로그램언어로 원하는 기능을 구현하게 됩니다. 혹시나 프로그래밍을 모르시더라도 걱정하지 마세요.

C#은 따로 강의가 제공되니 C#강의와 왔다갔다 하시면 됩니다.

 

그럼 본격적으로 스크립트를 만드는 방법에 대해서 알아보겠습니다.

우선 프로젝트 뷰에서 우클릭을 누르고 Create -> C# Script를 눌러줍니다.

그리고 스크립트 파일의 이름은 Ball 이라고 정해주겠습니다.

 

 

C# Script 파일을 더블클릭하면 Visual Studio 가 실행되는데요. Visual Studio는 프로그램을 작성하기위한 외부 프로그램입니다.

이제 스크립트를 확인해 보겠습니다.

 

 

우선 Ball 이라는 클래스가 보입니다. 클래스는 코드를 모아놓는 기본단위라고 기억하면 됩니다.

옆의 MonoBehaviour 는 유니티에서 클래스를 만들면 기본적으로 적어주어야 하는 코드라고 알고 있으면 됩니다.

그리고 void Start() 안에 코드를 작성하면 게임이 시작될 때 한번 실행되고

    void Update() 안에 코드를 작성하면 매 프레임마다 실행됩니다.

프레임은 영화에서 사용하던 용어인데요. 여러장의 사진을 빨리 넘겨서 보여주면 영화나 만화가 되죠? 그 여러장의 사진 한장한장을 프레임이라고 하는데요 유니티에서 공이 굴러가는것도 사실 매 프레임마다 공의 위치를 옮겨서 화면에 그려줘서 구현이 되는겁니다.

void Update() 에 코드를 넣으면 그 코드가 매 프레임마다 실행되면서 다양한 게임의 로직을 구현할 수 있습니다.

 

우선은 Start() 와 Update() 가 어떻게 동작하는지 알아보기 위해서 로그를 한번 찍어보겠습니다.

먼저 Start() 안에 Debug.Log("Start"); 를 입력해줍니다.

 

이렇게 입력을 해주고 저장을 해줍니다. 저장은 컨트롤S를 누르시거나 저장아이콘을 누르시면 됩니다.

위 코드는 Start라는 문자열을 콘솔에 찍어라 라고 하는겁니다.

 

 <<<< 저장하기

 

그리고 유니티로 돌아와서 게임을 실행해서 확인해 보겠습니다.

로그를 보기위해서 콘솔창을 열어줘야하는데요 콘솔창은 유니티의 메뉴에 window를 누르면 맨 아래에 console이 있습니다.

혹시나 못찾으시는 분들은 컨트롤+쉬프트+c 를 눌러주면 콘솔창을 볼 수 있습니다.

콘솔창이 나타났다면 게임을 실행해볼까요?

 

<5.콘솔창>

 

실행했더니 아무것도 나오지 않았네요. 사실 스크립트를 게임 오브젝트에 적용을 해줘야 스크립트가 실행이 됩니다.

그래서 Ball 스크립트를 눌러 끌고가서 게임오브젝트 Ball에 놓아줍니다. 그럼 Ball에 스크립트가 적용된게 보입니다.

스크립트는 원하는 게임오브젝트에 추가해주면 됩니다. 그리고 추가한 스크립트는 언제든지 삭제가 가능합니다.

그리고 실행을 하면 콘솔창에 Start가 게임시작할때 한번 찍히는게 보일겁니다.

 

<6.볼슼적용>

 

이번에는 Update() 에도 로그를 찍게 만들어 보겠습니다. 그런데 Update()는 매 프레임마다 실행된다고 했었죠? 

그래서 count라는 변수를 하나 선언해서 몇번이나 실행되는지 확인해 보겠습니다.

 

<7.Update>

 

콘솔 뷰를 보면 Clear가 있는데 Clear를 누르면 콘솔창이 깨끗하게 정리됩니다.

그리고 Clear on Play를 누르면 실행할 때 마다 콘솔창을 깨끗하게 만든후 실행하게 됩니다.

그럼 실행해 보겠습니다.

 

<8.Update>

 

콘솔을 보시면 맨처음에 스타트가 호출되고 Update옆의 숫자가 증가하면서 출력되는걸 확인해 볼 수 있습니다.

 

스크립트를 만드는 방법이었습니다.

 

끝!

 

오늘은 C#에서의 변수선언에 대해서 알아보겠습니다.

변수는 프로그래밍에서 기초중의 기초입니다. 그럼 변수가 무엇이냐?

변수는 값을 저장하는 박스라고 생각하면 됩니다. 그런데 이 박스에는 타입이 정해져있습니다.

남자화장실에는 남자만 여자화장실에는 여자만 들어가게 약속된 것처럼 변수에는 맞는 타입에 값만 들어가야합니다.

박스가 정수타입이라면 정수만 들어갈 수 있고

박스가 소수타입이라면 소수만 들어갈 수 있고

박스가 문자열타입이라면 문자열만 들어갈 수 있습니다.

그리고 박스는 이름을 갖는데요 이름은 알기 쉽도록 정하는게 좋습니다.

만약에 정수타입에 나이를 넣겠다면 변수의 이름을 age로 정하면 이 변수를 보고 나이를 넣었구나 알 수 있을겁니다.

이렇게 박스를 준비하는 과정을 변수를 선언한다고 하는데요 컴퓨터에 박스를 준비하는 명령을 어떻게 내리는지 보겠습니다.

컴퓨터에 명령을 내리는걸 '코드를 짠다' 혹은 '코딩한다' 라고 합니다. 그럼 변수를 선언하는 코드를 짜보겠습니다.

먼저 유니티를 실행시키고 프로젝트 뷰에서 우클릭을 해줍니다. 그리고 Create -> C# Script 를 선택해줍니다.

프로젝트 뷰에 스크립트를 만들었다면 더블클릭을 해서 스크립트를 열어줍시다.

잘 만들었나요?

그러면 class라고 쓰여 있는 아래부분에 변수를 직접 선언해보겠습니다.

1
2
3
    int age = 24;
    float height = 24.1f;
    string myName = "백자까";
cs

int 는 integer의 약자로 정수형을 뜻합니다.

float은 실수형을 나타내는데요 float형은 값을 넣을때 숫자뒤에 반드시 f를 붙여줘야 합니다. 정해진 약속이기 때문입니다.

string은 문자열타입이라는걸 알려줍니다. 그래서 문자열을 담을 수 있는데요 컴퓨터는 "  "안에 든것을 문자열로 취급합니다.

간단하죠? 

그럼 간단히 변수들의 타입에 대해서 확인해보겠습니다.

정수형 : byte, short, int, uint, long, ulong

실수형 : float, double

문자열 : string

불린형 : boolean

그리고 변수의 이름을 설정할 때의 주의사항이 있습니다.

1. 첫글자는 영문자, 밑줄(_)만을 사용할 수 있습니다.

2.숫자는 쓸 수있지만 첫글자로는 사용불가능합니다.

3.키워드는 식별자로 사용할 수 없습니다.

4.대소문자를 구분해서 사용해야합니다.


모두 이해하셨다면 유니티 강의를 이해하는데 큰 무리는 없을 겁니다. 

5. 유니티 스크립트

끝!

'Language > C#' 카테고리의 다른 글

1.C# 맛보기  (0) 2017.09.07

+ Recent posts