Unity c# for designer 1강 / 기본적인 프로그램
C#이 보이는 그림책을 참고로 작성했습니다.
강의용 자료로 만들었기 때문에 구체적인 설명은 없습니다.
1. Hello world
간단한 문자 출력을 해보며 간단히 구조를 살펴봅니다.
1) helloWorld c# 스크립트를 하나 생성합니다.
2) 더블 클릭 해서 모노 창이 띄웁니다.
3) 이제 첫 스크립트를 작성할 준비가 끝났습니다.
이제 아래와 같이 작성해보세요.
void Update () { Debug.Log ("Hellor World"); } |
4) 작성한 후 스크립트를 끌어다 카메라에 넣고 플레이 해보세요.
콘솔 창에 Hello World 가 계속해서 출력되는 것을 확인 할 수 있습니다.
첫 스크립트 작성을 축하 합니다.!
짝짝짝~ ㅎㅎ
2. 프로그램의 기본 구조
유니티 C#의 기본 구조는 아래와 같습니다.
각각의 세부 설명은 이후 차차 설명하겠습니다.
3. 유니티 C# 기본 함수
출처 : http://dlgnlfus.tistory.com/64
void Awake(){ } |
-스크립트가 실행될 때 한 번만 호출되는 함수이다. -주로 게임의 상태 값 또는 변수의 초기화에 사용한다. -start 함수가 호출되기 전에 먼저 호출된다. -스크립트가 비 활성화돼 있어도 실행된다. /*코루틴 사용 불가*/ |
void Start () { } |
-Update 함수가 호출되기 전에 한번만 호출된다. -스크립트가 활성화돼 있어야 실행된다. -다른 스크립트의 모든 Awake가 모두 실행된 이후에 실행된다. |
void Update () { } |
-프레임마다 호출되는 함수로 주로 게임의 핵심 로직을 작성한다. -스크립트가 활성화돼 있어야 실행된다. -코루틴 사용 불가 |
void LateUpdate (){ } |
-모든 Update 함수가 호출되고 나서 한 번 씩 호출된다. -순차적으로 실행해야 하는 로직에 사용한다. -카메라 이동 로직에 주로 사용하는 함수다. -스크립트가 활성화돼 있어야 실행된다. |
void FixedUpdate (){ } |
-주로 물리 엔진을 사용하는 경우에 일정 시간 간격으로 힘을 가할 때 사용하는 함수다. -스크립트가 활성화돼 있어야 실행된다. |
void OnEnable (){ } |
-게임 오브젝트 또는 스크립트가 활성화됐을 때 호출된다. -이벤트 연결 시 사용한다. -코루틴 사용 불가 |
void OnDisable (){ } |
-게임오브젝트 또는 스크립트가 비활성화됐을 때 호출된다. -이벤트 연결을 종료할 때 사용한다. -코루틴 사용 불가 |
void OnGUI (){ } |
-레거시 GUI 관련 함수를 사용할 때 사용한다. |
3. 변수
이번엔 여러가지 변수를 선언해 보겠습니다.
따라해보세요.~
using UnityEngine; using System.Collections; public class unityVariable : MonoBehaviour { public int a = 1; public float b = 1.5f; private decimal c = 1.96666666666666666666666666m; public string d = "디자이너를 위한 C# 기초"; public string e = "Good"; public string f = "Designer"; private string g = "good designer"; private string h = "GOOD DESIGNER"; System.Text.StringBuilder sb = new System.Text.StringBuilder(); // Use this for initialization void Start () { Debug.Log (a); Debug.Log (b); Debug.Log (c.ToString()); Debug.Log (d); Debug.Log (e+f); Debug.Log (g.ToUpper()); Debug.Log (h.ToLower()); Debug.Log (g[0]); //StringBuilder sb.Append("one "); sb.Append("two "); sb.Append("three"); Debug.Log (sb.ToString()); }
// Update is called once per frame void Update () {
} } |
아래와 같은 결과가 나오면 성공~
4. 배열
간단히 배열을 만들어 보겠습니다.
따라해 보세요.
using UnityEngine; using System.Collections; public class unityArray : MonoBehaviour { public int[] aArray = new int[5]; private int[] bArray = new int[] { 6, 7, 8, 9, 10 }; // Use this for initialization void Start () { aArray [0] = 1; aArray [1] = 2; aArray [2] = 3; aArray [3] = 4; aArray [4] = 5; Debug.Log (aArray[0]); Debug.Log (aArray[1]); Debug.Log (aArray[2]); Debug.Log (aArray[3]); Debug.Log (aArray[4]); Debug.Log (bArray[0]); Debug.Log (bArray[1]); Debug.Log (bArray[2]); Debug.Log (bArray[3]); Debug.Log (bArray[4]); }
// Update is called once per frame void Update () {
} } |
결과는 아래와 같습니다.
다 차원 배열은 책을 참고하세요.!!
5. 열거형
이번에도 역시 열거형 작성을 따라해 보세요.
using UnityEngine; using System.Collections; public class unityEnum : MonoBehaviour { public Animal animal; public enum Animal { mouse, cat, bird }; // Use this for initialization void Start () { }
// Update is called once per frame void Update () { Debug.Log (animal); } } |
인스펙터에 항목을 변경하면 변경된 값이 찍히면 성공!!
6. unity script reference
유니티에서 제공하는 유니티 스크립트 자료 입니다.
스크립트를 짜다 보면 참고할 때가 옵니다.~
http://docs.unity3d.com/kr/current/Manual/CreatingAndUsingScripts.html
7. 과제
복습하고 결과 화면을 스샷을 찍어 글을 올려 주세요.
'Unity공부 > Unity C# 사내 스터디' 카테고리의 다른 글
Unity c# for designer - 5강 보충 수업 (0) | 2016.12.02 |
---|---|
Unity c# for designer - 5강 (미니게임 만들며 Script 배우기) (0) | 2016.11.28 |
Unity c# for designer 4강 / 클래스 (0) | 2016.11.28 |
Unity c# for designer 3강 / 제어문 (0) | 2016.08.19 |
Unity c# for designer 2강 / 연산자 (0) | 2016.08.01 |