UNITY

[Unity] 유니티 변수(멤버/로컬 변수, Vector형 변수)

연듀 2021. 9. 16. 14:04

 

 

 

 

 

 

 

 

변수에 대해 설명하기 전, 일단 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()
    {
        
    }
}