Pv_log

Manage scene flow and data: Quiz) Manage scene flow and data 본문

Unity Learn 번역/Pathway: Junior Programmer

Manage scene flow and data: Quiz) Manage scene flow and data

Priv 2022. 1. 17. 18:25

출처


 

 

문제 1

다음 중, 버전 관리 솔루션으로 분류되는 것은 무엇인가요?

  1. 패키지 매니저(Package Manager)
  2. 비주얼 스튜디오(Visual Studio)
  3. 유니티 애널리틱스(Unity Analytics)
  4. 깃허브(Github)

 

- 정답

더보기

답: 4

 


 

문제 2

다음 중, 일반적으로 버전 컨트롤 솔루션에 의해 수행되지 않는 것은 무엇인가요?

  1. 스크립트 상의 간단한 구문 오류를 자동으로 해결.
  2. 모든 팀 멤버의 기여를 관리.
  3. 필요에 따라 프로젝트 버전을 이전 버전으로 복구.
  4. 프로젝트가 생성된 이후부터 매 시간마다 변경사항들을 추적.

 

- 정답

더보기

답: 1

 


 

문제 3

다음 중, "병합 충돌(Merge Conflict)"은 어떤 상황에서 발생하나요?

  1. 에러가 발생한 코드 줄이 애플리케이션의 다른 나머지 부분과 병합했을 때, 추가적인 에러를 발생시킬 수 있는 경우.
  2. 2명의 기여자가 동일한 파일의 동일한 코드를 동일한 시간에 푸시(Push)했을 경우.
  3. 2개의 다른 파일이 호환되지 않는 프로그래밍 언어로 동일한 리포지토리(Repository)에 저장된 경우.
  4. 리포지토리(Repository)의 서로 다른 브랜치에서 동일한 파일의 동일한 줄을 수정한 경우.

 

- 정답

더보기

답: 4

 


 

문제 4

다음 중, 버전 관리 솔루션에서 "브랜치 체크아웃(Branch Checkout)"이 의미하는 것은 무엇인가요?

  1. 리포지토리(Repository) 내에 새로 복제한 브랜치(Branch)를 생성한다.
  2. 작업 디렉터리가 브랜치(Branch)의 버전과 일치하도록 업데이트한다.
  3. 현재 리포지토리(Repository)에서 브랜치(Branch)를 삭제한다.
  4. 리포지토리(Repository)의 브랜치에 "보기" 권한을 부여한다.

 

- 정답

더보기

답: 2

 


 

문제 5

다음 중, 버전 관리 솔루션에서 "커밋 메시지(Commit message)"의 의미는 무엇인가요?

  1. 특정 기능을 확인했다는 "커밋(Commit)" 요구 사항.
  2. 기여자가 리포지토리(Repository)에 변경 사항을 커밋(Commit) 하기 전에 표시되는 경고 메시지.
  3. 모든 기여자들에게 리포지토리(Repository)에 변경 사항을 커밋(Commit)하라고 요청하는 메시지.
  4. 리포지토리(Repository)에 "커밋(Commit)"과 함께 제공되는 변경 사항에 대한 설명 메시지.

 

- 정답

더보기

답: 4

 


 

문제 6

다음 중, 버전 관리 솔루션을 사용한 일반적인 워크플로우(Workflow)는 무엇인가요?

  1. 체크아웃, 추가, 클론, 브랜치, 커밋, 푸시(checkout, add, clone, branch, commit, push)
  2. 체크아웃, 클론, 브랜치, 추가, 푸시, 커밋(checkout, clone, branch, add, push, commit)
  3. 클론, 브랜치, 체크아웃, 추가, 커밋, 푸시(clone, branch, checkout, add, commit, push)
  4. 클론, 추가, 체크아웃, 브랜치, 푸시, 커밋(clone, add, checkout, branch, push, commit)

 

- 정답

더보기

답: 3

 


 

문제 7

유니티 스크립팅 레퍼런스 문서를 보면, LoadScene 함수에 대해 다음과 같이 서술하고 있습니다:

SceneManager.LoadScene

● public static void LoadScene(int sceneBuildIndex, SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);

● public static void LoadScene(string sceneName, SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);

다음 중, LoadScene 메서드를 올바르게 구현한 것은 무엇인가요?

  1. SceneManager.LoadScene(LoadSceneMode.Single);
  2. SceneManager.LoadScene(“SceneName”, 0);
  3. SceneManager.LoadScene(0, “SceneName”);
  4. SceneManager.LoadScene(0, LoadSceneMode.Additive);

 

- 정답

더보기

답: 4

 


 

문제 8

다음 중, 어떤 상황에서 DontDestroyOnLoad 함수를 사용하실 건가요?

  1. 애플리케이션이 처음 로드되고 오브젝트가 이전에 실행되었을 때의 값을 유지하고 싶을 때.
  2. 특정 게임 오브젝트가 로드되는 동안 씬(Scene) 안의 다른 오브젝트들을 파괴하지 않기를 원할 때.
  3. 오브젝트가 모든 Destroy() 함수의 호출을 무시하게 만들고 싶을 때.
  4. 씬 사이의 특정 게임 오브젝트 또는 구성 요소에 대해 정보를 저장하고 싶을 때.

 

- 정답

더보기

답: 4

 


 

문제 9

아래의 코드는 3초 간격으로 씬을 다시 로드한 다음, 다시 로드하는 데 걸린 시간을 콘솔 창에 "Reload number 0", "Reload number 1", "Reload number 2" 등과 같은 형식으로 출력하는 코드로, 매 시간마다 다시 로드됩니다.

public int reloadNumber = 0;

void Start()
{   
  Debug.Log("Reload number " + reloadNumber);   
  reloadNumber++;
  StartCoroutine(WaitAndReload()); 
}   

IEnumerator WaitAndReload()
{
  yield return new WaitForSeconds(3);
  SceneManager.LoadScene (SceneManager.GetActiveScene().name); 
}

그러나, 증가된 reloadNumber 변수 값은 씬을 다시 로드할 때 유지되지 않으므로, 매 시간마다 1씩 값을 증가시킨 결과가 출력되는 대신, "Reload number 0"이 출력됩니다. 프로그램이 원하는 데로 동작하도록 만들려면 어떻게 수정해야 하나요?

  1. reloadNumber 변수를 상수(constant)로 만듭니다.
  2. reloadNumber 변수를 "SerializeFiled" 속성으로 직렬화(Serialize)합니다.
  3. reloadNumber 변수를 보호된(protected) 변수로 만듭니다.
  4. reloadNumber 변수를 정적(static) 변수로 만듭니다.

 

- 정답

더보기

답: 4

 


 

문제 10

아래의 코드는 싱글톤 디자인 패턴으로 구현된 GameManager의 예시 코드입니다:

public class GameManager : MonoBehaviour 
{
   void Awake()
   {     
      if (Instance == null)
      {       
         Instance = this;
         DontDestroyOnLoad(gameObject);
      }    
      else     
      {       
         Destroy(gameObject);
      }     
   } 
       
   public static GameManager Instance { get; private set; }
   
}

다음 중, 이 클래스에 대해 올바르게 설명한 것은 무엇인가요?

  1. 씬에서 원하는 만큼 인스턴스화할 수 있습니다.
  2. 씬에 있는 모든 오브젝트에 자동으로 컴포넌트로 추가됩니다.
  3. 다른 아무 클래스에서나 GameManager.get()을 통해 접근할 수 있습니다.
  4. 다른 아무 클래스에서나 GameManager.Instance를 통해 접근할 수 있습니다.

 

- 정답

더보기

답: 4

 


 


수고하셨습니다!


0 Comments