본문 바로가기
피피티,코딩

유니티 C# 기초문법 코딩 정리

by 슈뎡쓰 2021. 12. 24.
728x170

유니티 C# 기초문법 정리

 

커맨드
-스크립트에 쓰여진 명령
-세미클론으로 마무리됨

void Start(){
int speed = 5;
}

 


변수
-정보를 담은 상자
-프로그램 진행과정에서 값이 바뀔 수 있음

변수이름규칙
-유니티나 C#,Java에서 사용하고 있는 이름, 키워드와 충돌하지않아야함
 (ex:transform)
-알파벳과'_'만으로 시작해야함

 


데이터 타입

int : 정수
float : 소수
string/String:문자열
bool/boolean:참,거짓(불린)

 


변수에 값지정

int speed;
string nameOfBox;
bool isFound;

void Start(){
speed = 10;
nameOfBox = "gift box";
isFound = false;
}

//여기서 '=' 의 뜻은 같다가 아니라 오른쪽에있는'10'을 왼쪽 'speed'에 넣으라는 뜻입니다.

 


public
유니티 인스펙터에 노출됨
private
유니티 인스펙터에 노출x


[System.NonSerialized]
유니티 인스펙터에 변수가 노출되지않게 해준다.(바로밑에 있는 변수만 영향을 받음)

 


함수
-게임 실행도중 특정시점에서 호출할 수있는 명령어들의 집합
-유니티 기본내장함수/커스텀함수(사용자가직접만든함수)


Update() 함수
-매프레임마다 호출되는 유니티 기본함수
-초당30프레임이면 1초에 Update()가 30번 호출됨
-지속적으로 처리되거나 실시간으로 이뤄지는 변화처리에 사용

 

return 값이 있는 함수

void Start () {

  int sumOfthem = Calculate();

  Debug.Log(sumOfthem);
  
 }
 
   int Calculate(){

         int numberA = 10;
                int numberB = 20;
  int sum = numA + numB;

 

  return sum;   //어디서든 Calculate를 부르면 numA,numB를 더한값을 돌려받게된다.
 }

 


OnMouseDown : 게임 오브젝트의 충돌체, 게임의 GUI요소를 마우스로 클릭했을때 호출됨
OnMouseUp : 마우스 버튼을 눌렀다 떼었을 때
OnMouseEnter: 마우스 커서가 충돌체나 GUI 요소 안으로 들어갔을때
OnMouseExit: 마우스 커서가 충돌체나 GUI 요소 밖에 있을때

 

인자
-함수 내부에 사용되는 변수
-함수를 호출하면서 함수에 보내는 정보

예)
void Start () {

  int sumOfthem = Calculate(30,50);

  Debug.Log(sumOfthem);
  
 }

 int Calculate(int numA, int numB){
 

  int sum = numA + numB;

  return sum;
 }

 

 

조건문

if else 선언문
-조건을 확인하기 위해 사용
-조건이 충족되면 if{} 사이의 명령문 실행
-조건이 충족되지 않으면 else{} 사이의 명령문 실행

다중조건
-if(A&&B) : A가 참이면서 B가 동시에 참이라면 (둘다참)
-if(A||B) : A또는 B가 참이라면               (둘중하나만 참)

for 루프
- 특정 조건이 충족될 때까지 명령을 반복해서 처리하는 것
- for(정수타입 변수 선언; 계속 반복하기 위한 조건; 매 루프가 끝날 때마다 실행되는 명령)
- for(int i = 0;i<10;i++){}

예)
void Start () {

  for(int i = 0; i <10; i++){
  
   Debug.Log(i);
  
  }

 

스크립트간 호출과 닷문법


다른 오브젝트 접근
-GameObject.Find(이름) 으로 찾기
-GameObject.FindWithTag(태그)로 찾기


예)
 void Start () {

  GameObject cube = GameObject.FindWithTag("cubetag");
  GameObject sphere = GameObject.Find ("Sphere");
  Debug.Log( cube.name);
  Debug.Log( sphere.name);

 }

 

다른 오브젝트에 있는 명령 실행

SendMessage  //기존의 스크립트에서 함수를 실행한다.
-다른 게임 오브젝트를 찾는다
(GameObject.Find 등을 이용)
-SendMessage(함수명,전달인자) 실행

예)GameObject.Find("Cube").SendMessage("Show","Mr. Lee"); // 큐브의 Show 함수와 Mr Lee 인자를 실행

 


GetComponent<>() //함수를 가져다가 실행시킨다.
-다른게임오브젝트를 찾는다.
-GetComponent<컴포넌트 이름>() 으로 컴포넌트를 가져 온다.
-컴포넌트에 들어 있는 Public 함수를 실행한다.

예)GameObject.Find("Cube").GetComponent<Cube>().Show("Mr Lee"); //Cube 라는 스크립트의 Public Show함수를 가져와서 실행

닷문법예시
예) transform.position.x

 

Null 값
- 변수에 값이 지정되지 않은 상태를 NULL 이라고 한다.
- 변수를 생성하고 값을 지정하지 않으면 "빈 참조에 의한 예외(Null reference excepion)" 에러가 발생

 

출처 : 유니티 c# 기초문법 정리 : 네이버 블로그 (naver.com)

 

그리드형

댓글