IGDC 입문 프로젝트 글입니다.
일전에 만들었던 Scripts 폴더에 들어간 후, 프로젝트 창을 우클릭,
Create -> C# Script를 선택하여 스크립트를 하나 만들어줍시다.
![]() |
![]() |
두 번째 아이콘을 누르면 스크립트를 편집할 수 있는 툴이 자동으로 열립니다.
만약 에러가 발생한 경우, (혹은 툴이 원치 않는 것으로 열린다던가)
상단의 Edit -> Preferences -> External Tools -> External Script Editor에서 골라줍니다.
만일 여기서도 보이지 않을 경우, Browse로 찾아줘야 합니다... (귀찮지만)
기본 생성 템플릿
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cube : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
MonoBehaviour: 유니티 오브젝트 상에 붙일 수 있도록 해주는 클래스입니다.
Start 함수: 오브젝트가 생성되고 딱 한 번 호출되는 함수입니다.
Update 함수: Start 함수가 끝난 이후부터 매 프레임 호출되는 함수입니다.
Start 함수 안에 다음과 같이 작성한 후, Cube 오브젝트에 Cube Script를 붙여줍시다.
void Start(){
Debug.Log("Start!");
}
후, '▶️' 버튼을 눌러 플레이 시켜봅니다.
콘솔 창에서 Log가 하나 생깁니다.
스크립트 이벤트 함수 실행순서
제가 주로 사용하는 것들만 간단하게만 나열하면,
- OnAwake: 프리팹이 게임에 처음 생성될 때 한 번 실행되는 함수입니다.
- OnStart: 스크립트가 활성화 된 후 한 번 실행되는 함수입니다. Awake 함수 이후에 실행됩니다.
- FixedUpdate: 프레임 당 한 번 실행되는 Update와는 달리 고정적으로 호출되는 함수입니다.
- Update: 프레임 당 한 번씩 실행되는 함수입니다.
- LateUpdate: Update 함수가 실행된 후 한 번 실행되는 함수입니다.
- OnDestroy: 물체가 없어질 때, 이 함수가 한 번 호출됩니다.
Script 변수 노출
(이 소제목이 맞는지는 잘 모르겠습니다)
public int a;
private int b;
Cube 스크립트의 클래스 안에 멤버 변수를 다음과 같이 선언하였습니다.
위 사진과 같이 A는 변수가 에디터 상에서 보이지만, B는 보이지 않는 것을 볼 수 있습니다.
public 변수는 에디터 상에 노출되지만, private 변수는 에디터 상에 노출되지 않아 임의로 변경할 수 없습니다.
(사실 attribute를 통해 노출 여부를 바꿀 수 있기는 하지만, 여기서는 패스하겠습니다)
'Unity > IGDC 입문 프로젝트' 카테고리의 다른 글
6. 몬스터 스폰 및 이동 (0) | 2023.09.01 |
---|---|
5. Vector, Transform (0) | 2023.08.31 |
4. 맵 만들기 (0) | 2023.08.31 |
2. Rigidbody & Collider (0) | 2023.08.29 |
1. 에디터 레이아웃 (0) | 2023.08.29 |