Unity/참고자료

Unity : 스크립트를 실행하는 방법

치명적흑형 2021. 10. 10. 17:25

스크립트를 실행하는 방법

 

1. 스크립트를 만든다

2. 게임오브젝트를 만든다

3. 게임오브젝트에 적용한다

4. 실행한다

 

씬안(3D공간)에 있는 모든 오브젝트들은 게임오브젝트이다

유니티엔진은 컴포넌트 기반의 게임 엔진이다

예) 레고블록

게임오브젝트 안에 여러 컴포넌트들을 추가해서 새로운 기는을 하는 오브젝트로 만들수 있다

 

 

유니티 출력 명령어

Debug.Log("Hello Unity!");

 

 

public class Test : MonoBehaviour

{

}

 

MonoBehaviour를 상속받은 클래스만 컴포넌트로써 게임오브젝트에 부작할 수 있다.

 

 

스크립트

C# + Unity 기능 -> 유니티 C# 스크립트

 

*****클래스 종류

1. MonoBehaviour상속 받는 클래스 -> 컴포넌트로서 동작, 자동으로 인스턴스화 됨, new 키워드를 사용할 수 없다

인스턴스의 생명주기를 제어 할 수 없다(엔진이 제어한다), 미리 정의되어 있는 이벤트 메서드들이 특정 타임에 자동으로 실행된다 ex) Start, Update메서드와 같이...

 

2. MonoBehaviour상속 받지 않은 클래스 -> 컴포넌트로써 동작 안함, new 키워드로 직접 인스턴스화 시켜줘야 한다

 

 

 

스크립트 생성시 주의사항

 

프로젝트 스크립스 폴더생성 스크립트생성

 

스크립트 생성시 기본 이름으로 생성된다.

스크립트 명을 수정해도 클래스 명이 바뀌지 않는다.

스크립트 명을 잘못 입력했을 경우 지우고 다시 만든다.

 


 

테스트 스크립트

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    private int count;
    // 첫 번째 프레임 업데이트 전에 Start가 호출됩니다.
    void Start()
    {
        Debug.Log("Hello Unity!");
    }

    // 업데이트는 프레임당 한 번 호출됩니다. 비어있더라도 실행된다. 실행을 원치 않으면 메서드를 삭제
    void Update()
    {
        Debug.Log(count++);
    }
}

프로젝트창 안에 있는 리소스들은 모두 파일이다

 

씬안의 모든 컴포넌트는 게임 오브젝트다.

 

게임오브젝트는 클래스 (클래스는 참조형식 기본값 null)

실행되면 인스턴스화된다

 

오브젝트에 붙어있는 컴포넌트들 순서대로 인스턴스화 된다

 

MonoBehaviour를 상속받고 부착하지 않으면 인스턴스화 되지 않는다

 

 

new GameObject (1)

new Transfrom

 

new GameObject (1)

new Transfrom

new Test