r28
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
14using System.Collections;
r27
15using System.Collections.Generic; //리스트에 필요.
16using UnityEngine; // 기본
r4
17}}}
r2
18이 가장 많이 사용된다.
19
20Ui, Ai 전용 모듈도 자주 사용된다.
r5
21특히 Ai는 Al Navigation을 자주 사용하게 될것이다.
22
23== 기초 ==
r24
24=== 초기 코드 ===
25{{{#!syntax csharp
26using UnityEngine;
27
28public 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
48void Start()
49{
50 Vector3 a = new Vector3(0, 0, 0);
51}
52}}}
r5
53=== Update ===
54파이썬으로 따지면 while True() 무한 반복이다.
55여기에다가 if 문 넣어서 캐릭 움직이게 한다.
r8
56{{{#!syntax csharp
57void 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
r28
68업데이트도 다양한 종류가 있다.
69{{{#!syntax csharp
70void FixedUpdate(){
71 // 물리 엔진과 관련된 계산 등등에 사용
72}
73}}}
74
75{{{#!syntax csharp
76void LateUpdate(){
77 // 일반적으로 카메라 추적에 사용.
78}
79}}}
80
r11
81=== 변수 ===
82코딩에서 가장 가장 기초이다.
83C#에는 다양한 변수가 존재한다.
r12
84{{{#!syntax csharp
r13
85int a; //정수
86float b; //실수
87double c; //실수
88long d; //정수
89string e; //문자열
90bool f; //참/거짓
91char h; //문자
92short i; //정수
r12
93}}}
r14
94
95== 많이 실수하는 것 ==
96=== ; ===
97뭐 코드가 끝나면 ; 붙여야한다.
98예외는 있다.
99
100=== 저장좀 합시다. ===
101컨트롤 s로 저장하는 습관 기릅시다.
102경험자로써 말하는데 저장 안했다가 코드 날려 먹었습니다.
r15
103
104=== 릴리스 버전 호환 되는거로 바꾸세요 ===
105저는 호환되는거로 바꾸어도 릴리스 자체 에러나서
106프로젝트 하나 통으로 날려먹고 겨우 세이브 파일 찾아서
r16
107복구했습니다. 여러분들은 이런 일 없도록 합시다.
108
r21
109=== safe mode 무서운거 아니에요! ===
110다들 이름이랑 에러보고 무서워 하는데 간단한 코드 에러나서 안돌아가는것도 세이프 모드 들어가게하니 걱정 ㄴㄴ
r17
111
112=== float는 f 붙음 ===
113예시는
114{{{#!syntax csharp
r22
115float a = 10.01938; // 오류
116float a = 10.01938f; // 정상
r23
117}}}
118
119=== Thread.Sleep 사용 금지! ===
120유니티도 함께 멈추는 대참사 일어남.