변수에 대해 설명하기 전, 일단 Start와 Update 메서드를 보자면 이 둘은 유니티에서 제공하는 함수이다.
Monobehavior안에서 제공되는 함수를 개발자가 상속을 받아 메서드 오버라이딩을 한 것이다.
Start함수는 처음 프레임이 업데이트되기전 시작할때 한번 실행되고,
Update함수는 매 프레임마다 계속 실행된다.
보통 유니티에 내장된 함수는 첫 문자를 대문자로 쓰고, 개발자가 직접 만든 함수는 첫 문자를 소문자로 써서 구분한다.
변수
유효범위(접근 지정자): 변수가 참조할 수 있는 범위
public -외부에서 보이고 외부에서 내용을 변경할 수 있는 변수. 유니티 에디터에 활성화가 되어 보여지고 에디터에서도 직접 값을 수정할 수 있다.
Private - 외부에서 보이지 않고 외부에서 내용을 변경할 수도 없는 변수. 유니티 에디터에 보여지지 않는다.
디폴트는 private이다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cshTest : MonoBehaviour
{
public int var1 = 0;
private int var2 = 1;
int var3; //접근 지정자를 쓰지 않으면 private이 디폴트다.
void Start()
{
Debug.Log(var1);
Debug.Log(var2);
}
void Update()
{
}
}
선언되는 위치에 따라 멤버 변수와 로컬 변수로 나눌 수 있다.
public class Variable : MonoBehaviour {
void Start () {
}
int score = 1234; // 멤버 변수
// Update is called once per frame
void Update () {
int num = 567; // Update() 안에서만 유효한 로컬 변수
score++;
num++;
if (num > 100) {
int result = 89;
result++;
}
Debug.Log (score);
Debug.Log (num);
//Debug.Log (result);
Vector형 변수
vector2, vector3 -2D, 3D를 표현할 수 있는 자료형 중 하나
캐릭터가 3D 공간(또는 2D) 어디에 있고, 어디에 진행하려 하는지,
어느 방향으로 힘을 가하려 하는지 등 캐릭터의 움직임을 나타내는 데 유용.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cshTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Vector3 pos; // 3차원 공간
pos = this.gameObject.transform.position; // 현재 게임 오브젝트의 위치를 받아 pos 변수에 저장
Debug.Log(pos); // (0.0, 1.0, -10.0)
Debug.Log(pos.y); // (1.0)
}
// Update is called once per frame
void Update()
{
}
}
반응형
'UNITY' 카테고리의 다른 글
[Unity] 2D Content 제작하기 (3) (InvokeRepeating, Physics Material) (0) | 2022.04.25 |
---|---|
[Unity] 2D Content 제작하기 (2) (Instantiate, Destroy) (0) | 2022.04.25 |
[Unity] 2D Content 제작하기 -이미지 배치 (0) | 2022.04.25 |
[Unity] Instantiate -오브젝트 복제하기 (0) | 2021.10.12 |
증강현실(AR) - Vuforia AR SDK 사용법 (0) | 2021.06.04 |