[Unity] 게임의 구조와 C#

2023. 4. 4. 13:14학부 강의/SW종합설계

 

 

0. 출처

 

 


1. 게임의 구조

 

 

  • 장면 : Scene이라고 하며, 연극으로 치면 막, 소설로 치면 장에 해당된다.
  • 오브젝트 : 인물, 물체
  • 스크립트 : 프로그래밍 로직

 


2. C#

 

유니티는 C#을 사용한다.

 


가. 스크립트 생성

 

스크립트는 하단에 위치한 Project 창에서 우클릭 → create → C# script로 생성할 수 있다.

 

스크립트를 더블 클릭하면 설정해 둔 에디터를 실행한다.

 

 

  • 기본적으로 MonoBehaviour를 상속한다는 사실을 알 수 있다.
  • Start() : 초기화. 최초에 단 한 번만 실행된다.
  • Update() : 매 frame마다 반복해서 실행된다.

 


나. C# 기초

 

  • 변수 선언
//가장 많이 사용되는 것들
int a = 1;              //정수형
float b = 1.2f;         //실수형
string c = "hello";     //문자열
bool d = true; //false; //참거짓

 

 

  • 콘솔 출력
Debug.Log("hello Unity");

string name = "tired_I";
Debug.Log("Welcome" + name);

 

  • 배열 선언
string[] arr = {"hello", "world"};
Debug.Log(arr[0]);
Debug.Log(arr[1]);
int[] arr2 = new int[3];
arr2[0] = 1;
arr2[1] = 2;
arr2[2] = 3;

 

  • 리스트 생성
List<string> items = new List<string>();

//추가
items.Add("도란의 검");
items.Add("포션");

//삭제
items.RemoveAt(0); // 0 index는 계속해서 비어있는다.

 

  • 조건문
if(condition1){ ... }
else if(condition2){ ... }
else { ... }
switch(값){
    case 값1 :
        ...
    case 값2 :
        ...
    case 값3 :
        ...
        //continue;
        //break;

 

  • 반복문
while(condition){ ... }

for(i=0;i<5;i++){ ... }

int[] arr = {1,2,3,4,5};
foreach(int a in arr){ ... }

 

  • 함수 선언
//자료형 함수이름(매개변수) { ... }
int fuc(int a)
{ 
    return a;
}

 

  • 클래스
public class Book {
    private int id;
    private string name;
    private int price;

    public Book()   //생성자
    {
        this.id = 1;
        this.name = "C# for Unity";
        this.price = "20000원";
    }

    public string getPrice()
    {
        return this.price;
    }
}
//접근제한자 : public, private, protected, internal ...
//default는 private

Book book = new Book();

public class Dictionary : Book  // 상속
{ ... }

 


다. 스크립트 실행

 

스크립트가 실행되기 위해서는 반드시 특정한 게임 오브젝트에 속해 있어야 한다.

 

오브젝트에 포함시키기 위해서는 스크립트를 오브젝트의 Inspector 창에 drag&drop 한다.

 

추가된 것을 확인할 수 있고, 오브젝트가 속한 Scene을 실행하면 스크립트가 실행된 것을 확인할 수 있을 것이다.

 


'학부 강의 > SW종합설계' 카테고리의 다른 글

[Fusion] 102 - Setting Up A Scene  (0) 2023.04.12
[Fusion] 설치  (0) 2023.04.12
[Unity] 오브젝트 라이프사이클  (0) 2023.04.04
[Unity] 유니티 기초  (0) 2023.04.04
SW종합설계 시작  (0) 2023.04.04