r26
| 1 | [[분류:문서]][[분류:프로그래밍 언어]] |
|---|
r20
| 2 | [include(틀:알림 상자, title=기술적 제한, content= 위키엔진의 기술적 제한으로 인해 다른 문서에서 이 문서로 링크하기 위해서는 [[유니티/c\\#]]와 같은 방식으로 링크하여야 합니다., color=#4188f1)] |
|---|
r2
| 3 | [목차] |
|---|
| 4 | == 개요 == |
|---|
| 5 | 유니티에서만 사용되는 c# 언어들이 되게 많다. |
|---|
| 6 | 일반인은 모를법한? 그런거 담은 문서이다. |
|---|
r25
| 7 | 상위 문서는 없지만 하위 문서는 있는 신기한 경우중 하나. |
|---|
r2
| 8 | |
|---|
| 9 | == using == |
|---|
| 10 | 파이썬 import 비슷한건데 cmd로 모듈 다운 안해도 된다. |
|---|
| 11 | |
|---|
| 12 | == 자주 사용되는 것 == |
|---|
r4
| 13 | {{{#!syntax csharp |
|---|
r2
| 14 | using System.Collections; |
|---|
| 15 | using System.Collections.Generic; |
|---|
| 16 | using UnityEngine; |
|---|
r4
| 17 | }}} |
|---|
r2
| 18 | 이 가장 많이 사용된다. |
|---|
| 19 | |
|---|
| 20 | Ui, Ai 전용 모듈도 자주 사용된다. |
|---|
r5
| 21 | 특히 Ai는 Al Navigation을 자주 사용하게 될것이다. |
|---|
| 22 | |
|---|
| 23 | == 기초 == |
|---|
r24
| 24 | === 초기 코드 === |
|---|
| 25 | {{{#!syntax csharp |
|---|
| 26 | using UnityEngine; |
|---|
| 27 | |
|---|
| 28 | public class theseed : MonoBehaviour |
|---|
| 29 | { |
|---|
| 30 | |
|---|
| 31 | // Start is called before the first frame update |
|---|
| 32 | void Start() |
|---|
| 33 | { |
|---|
| 34 | |
|---|
| 35 | } |
|---|
| 36 | |
|---|
| 37 | // Update is called once per frame |
|---|
| 38 | void Update() |
|---|
| 39 | { |
|---|
| 40 | |
|---|
| 41 | } |
|---|
| 42 | } |
|---|
| 43 | }}} |
|---|
r5
| 44 | === Start === |
|---|
| 45 | 스크래치로 따지면 초록 깃발을 클릭했을때. |
|---|
| 46 | 딱 1회 실행된다. 뭐 오브젝트 좌표 초기화가 주를 이룬다. 변수는 대부분 전역 쓸듯? |
|---|
r7
| 47 | {{{#!syntax csharp |
|---|
| 48 | void Start() |
|---|
| 49 | { |
|---|
| 50 | Vector3 a = new Vector3(0, 0, 0); |
|---|
| 51 | } |
|---|
| 52 | }}} |
|---|
r5
| 53 | === Update === |
|---|
| 54 | 파이썬으로 따지면 while True() 무한 반복이다. |
|---|
| 55 | 여기에다가 if 문 넣어서 캐릭 움직이게 한다. |
|---|
r8
| 56 | {{{#!syntax csharp |
|---|
| 57 | void Update() |
|---|
| 58 | { |
|---|
| 59 | if (Input.GetKey(KeyCode.Space)) |
|---|
r9
| 60 | { |
|---|
| 61 | Debug.Log("스페이스 클릭됨"); |
|---|
| 62 | } |
|---|
r8
| 63 | } |
|---|
| 64 | }}} |
|---|
r11
| 65 | 여기서 꿀팁 GetKey, GetKeyDown, GetkeyUp 뭐가 다를까? GetKey는 꾹 누르고 있을때에도 계속 인식된다. |
|---|
| 66 | 그럼 Up 이나 Down은 당연히 뭔지 알겠죠? |
|---|
r10
| 67 | |
|---|
r11
| 68 | === 변수 === |
|---|
| 69 | 코딩에서 가장 가장 기초이다. |
|---|
| 70 | C#에는 다양한 변수가 존재한다. |
|---|
r12
| 71 | {{{#!syntax csharp |
|---|
r13
| 72 | int a; //정수 |
|---|
| 73 | float b; //실수 |
|---|
| 74 | double c; //실수 |
|---|
| 75 | long d; //정수 |
|---|
| 76 | string e; //문자열 |
|---|
| 77 | bool f; //참/거짓 |
|---|
| 78 | char h; //문자 |
|---|
| 79 | short i; //정수 |
|---|
r12
| 80 | }}} |
|---|
r14
| 81 | |
|---|
| 82 | == 많이 실수하는 것 == |
|---|
| 83 | === ; === |
|---|
| 84 | 뭐 코드가 끝나면 ; 붙여야한다. |
|---|
| 85 | 예외는 있다. |
|---|
| 86 | |
|---|
| 87 | === 저장좀 합시다. === |
|---|
| 88 | 컨트롤 s로 저장하는 습관 기릅시다. |
|---|
| 89 | 경험자로써 말하는데 저장 안했다가 코드 날려 먹었습니다. |
|---|
r15
| 90 | |
|---|
| 91 | === 릴리스 버전 호환 되는거로 바꾸세요 === |
|---|
| 92 | 저는 호환되는거로 바꾸어도 릴리스 자체 에러나서 |
|---|
| 93 | 프로젝트 하나 통으로 날려먹고 겨우 세이브 파일 찾아서 |
|---|
r16
| 94 | 복구했습니다. 여러분들은 이런 일 없도록 합시다. |
|---|
| 95 | |
|---|
r21
| 96 | === safe mode 무서운거 아니에요! === |
|---|
| 97 | 다들 이름이랑 에러보고 무서워 하는데 간단한 코드 에러나서 안돌아가는것도 세이프 모드 들어가게하니 걱정 ㄴㄴ |
|---|
r17
| 98 | |
|---|
| 99 | === float는 f 붙음 === |
|---|
| 100 | 예시는 |
|---|
| 101 | {{{#!syntax csharp |
|---|
r22
| 102 | float a = 10.01938; // 오류 |
|---|
| 103 | float a = 10.01938f; // 정상 |
|---|
r23
| 104 | }}} |
|---|
| 105 | |
|---|
| 106 | === Thread.Sleep 사용 금지! === |
|---|
| 107 | 유니티도 함께 멈추는 대참사 일어남. |
|---|