달력

102024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Awake() 정의와 DontDestroyOnLoad() 사용법


Awake() 정의

  • Awake는 게임이 시작되기 전에, 모든 변수와 게임의 상태를 초기화하기 위해서 호출되며 스크립트 인스턴스가 종료될 때까지 한번만 호출됩니다. 

  • Awake는 모든 오브젝트가 초기화되고 호출되기 때문에, GameObject.FindWithTag를 이용해서 해당 게임 오브젝트를 요청하거나, 다른 오브젝트와 안전하게 연동해서 사용할 수 있습니다.


DontDestroyOnLoad() 사용법

  • 새로운 Scene이 로드될때 자동으로 파괴되지 않는 target 오브젝트를 만듭니다.
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Awake() { DontDestroyOnLoad(transform.gameObject); } }

이런식으로 지정된 이전 오브젝트가 그대로 살아서 다음 씬으로 넘어갑니다.

대신 지워지지않아 직접 지워줘야 합니다.


그런 경우 간단히 조건 제시후 Destroy 메소드를 이용해 삭제 합니다.


예) M키를 누를시 조건

 if (Input.GetKeyDown(KeyCode.M))

        {

            Destroy(gameObject);

        }



Posted by JakeGD
|

Time.time.ToString 소수점 설정하기


소수점 설정은 의외로 간단 합니다.


ToString 괄호 안에 "N2" 만 넣어주면 됩니다.


예시)

 GUI.TextArea(new Rect(100, 50, 100, 30), "타이머 : " + Time.time.ToString("N2"));


소수점 2자리까지 나옴.


N1 = 소수점 한자리

N2 = 소수점 두자리

N3 = 소수점 세자리




Posted by JakeGD
|

인터프리터와 컴파일러



프로그램들을 실행하는 데에는 두 가지 방법이 있습니다.

가장 일반적인 방법은 프로그램을 컴파일 하는 것이고 다른 하나는 프로그램을 인터프리터에 통과시키는 방법 입니다.



  • 인터프리터
    • interpreter (해석기)는 프로그래밍 언어의 소스 코드를 바로 실행하는 방식입니다.
    • 고급 언어로 작성된 명령어들은 한번에 한 줄씩 읽어들여서 실행하는 프로그램이다.
    • 장점
      1. 기계어 명령어들이 만들어지는 컴파일 단계를 거칠 필요가 없다.
      2. 커파일 과정은 프로그램 크기가 크면 상당한 시간이 걸리지만 인터프리터는 즉시 실행 가능
    • 단점
      1. 컴파일이 끝난 프로그램의 속도 차이는 뒤쳐진다.
      2. 프로그램이 직접 실행 되므로 실행 프로그램이 따로 생성 되진 않습니다.


  • 컴파일러
    • compiler(해석기, 번역기)는 한마디로 사람이 읽을 수 있는 프로그램 언어에서 사람이 읽을 수 없고 컴퓨터가 읽을 수 있는 기계어,어셈블리어 로 번역 해주는 번역기라고 보면된다.
    • 인터프리터와 달리 즉시 실행은 못하지만 컴파일러 이후의 실행 속도가 빠릅니다.


Posted by JakeGD
|