r31
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{
r30
59 if (Input.GetKey(KeyCode.Space)) // 고대의 Input System
r9
60 {
61 Debug.Log("스페이스 클릭됨");
62 }
r8
63}
64}}}
r10
65
r30
66새롭게 나온 Input System을 사용해보자.
67
68{{{#!syntax csharp
69void Update()
70{
71 if (Keyboard.current.spaceKey.wasPressedThisFrame) // 매우 길어 귀찮으니 그냥 예전거 쓰자.
72 {
73 Debug.Log("스페이스 클릭됨");
74 }
75}
r31
76}}}
r30
77
r28
78업데이트도 다양한 종류가 있다.
79{{{#!syntax csharp
80void FixedUpdate(){
81 // 물리 엔진과 관련된 계산 등등에 사용
82}
83}}}
84
85{{{#!syntax csharp
86void LateUpdate(){
87 // 일반적으로 카메라 추적에 사용.
88}
89}}}
90
r11
91=== 변수 ===
92코딩에서 가장 가장 기초이다.
93C#에는 다양한 변수가 존재한다.
r12
94{{{#!syntax csharp
r13
95int a; //정수
96float b; //실수
97double c; //실수
98long d; //정수
99string e; //문자열
100bool f; //참/거짓
101char h; //문자
102short i; //정수
r12
103}}}
r14
104
r29
105=== 리스트 ===
106아래처럼 선언한다.
r14
107
r29
108{{{#!syntax csharp
109using UnityEngine;
110using System.Collections.Generic
r15
111
r29
112public class theseed : MonoBehaviour
113{
114 public List<자료형> 변수명 = new List<자료형>();
115 public List<자료형> 변수명 = new List<자료형>(){..........};
116 // Start is called before the first frame update
117 void Start()
118 {
r16
119
r29
120 }
121
122 // Update is called once per frame
123 void Update()
124 {
r17
125
r29
126 }
127}
128}}}