Priv's Blog

Programming Simple Functionality: Unit 5 - User Interface) Quiz 5 본문

Unity Learn/Pathway: Junior Programmer

Programming Simple Functionality: Unit 5 - User Interface) Quiz 5

Priv 2021. 7. 24. 18:16

출처

 

Quiz 5 - Unity Learn

This quiz will assess your knowledge of the skills and concepts learned in Unit 5.

learn.unity.com


 

 

문제 1

유니티 명명 규칙에 따른 코드는 몇 번인가요? (특히 대문자와 관련하여)

 

  1. 1번 줄
  2. 2번 줄
  3. 3번 줄
  4. 4번 줄

 

- 정답

더보기

답: 1

public void MultiplyScore(int currentScore)

"public", "void"와 "int" 키워드는 소문자로 작성해야 합니다. 메서드 이름("MultiplyScore"처럼)은 대문자로 작성해야 합니다. 변수 이름("currentScore"처럼)은 낙타 표기법으로 작성해야 합니다.

 


 

문제 2

스크립트 A 안에 불리언 변수가 있고, 스크립트 B 안에서 해당 변수에 접근하고자 합니다. 옳은 설명을 고르세요:

 

  1. 1번만 정답
  2. 1번과 2번이 정답
  3. 2번과 3번이 정답
  4. 3번과 4번이 정답
  5. 1번, 2번, 3번이 정답
  6. 전부 정답

 

- 정답

더보기

답: 2

접근하려는 스크립트에 대한 변수 레퍼런스는 항상 필요하며, 변수는 public으로 선언해야 합니다.

 


 

문제 3

결과적으로 오브젝트가 파괴되도록 만들려고 하면 공백에 어떤 코드를 채워 넣어야 하는지 고르세요.

 

  1. name = "player" && isDead && health < 5
  2. name != "player" && isDead != true && health > 5
  3. name == "player" && !isDead && health < 5
  4. name == "player" && isDead != true && health > 5

 

- 정답

더보기

답: 3

문자열을 비교하려면, 두 개의 ==가 필요합니다. 기본적으로 불리언 변수 값은 참으로 선언하지 않을 경우, 거짓이 됩니다. !isDead처럼 변수 앞에 느낌표 적어주면, 값이 거짓인지를 검사합니다. health = 3이므로, "health < 5"는 참입니다.

 


 

문제 4

게임을 실행했더니 콘솔 창에 다음과 같은 에러 메시지, "NullReferenceException: Object reference not set to an instance of an object”가 출력되었습니다. 아래의 이미지와 코드에서 문제를 해결하려면 어떤 부분을 수정해야 하나요?

 

  1. Hierarchy에서 "Game Manager"를 "gameManager"로 바꾼다.
  2. Hierarchy에서 "Game Manager"를 "GameManager"로 바꾼다.
  3. 1번 줄에서 "GameManager"를 "Game Manager"로 바꾼다.
  4. 3번 줄에서 GetComponent 코드를 삭제한다.

 

- 정답

더보기

답: 2

GameObject.Find("GameManager")가 NullReferenceException 에러를 반환하고 있습니다. 그 이유는 scene에 해당 이름을 가진 오브젝트가 없기 때문입니다. Hierarchy에서 공백을 지워 "GameManager"로 이름을 수정하시면 에러가 해결될 것입니다.

 


 

문제 5

아래의 OnMouseDrag 이벤트에 대한 유니티 문서와 첨부된 코드를 읽어보세요. 유저가 콜라이더가 있는 오브젝트를 10초 동안 마우스로 누르고 있을 경우, "counter" 변수 값은 몇이 되나요?

 

  1. 0
  2. 1
  3. 99
  4. 100
  5. 100 이상

 

- 정답

더보기

답: 4

함수는 마우스를 누르고 있는 "매 프레임 동안" 호출되므로, 10초 동안 100번 호출될 것입니다. 그러나, 조건이

 


 

문제 6

아래의 코드에서, 버튼을 클릭했을 때 콘솔 창에 무엇이 출력되는지 고르세요.

 

  1. "Welcome, Robert Smith"
  2. "Welcome, firstName Smith"
  3. "Button is ready"
  4. "Welcom + Robert + Smith"

 

- 정답

더보기

답: 2

만약 "Robert Smith"라고 출력되게 만들고 싶으시다면, 따옴표를 지우고 변수 이름, firstName을 적어주어야 합니다.

 


 

문제 7

"private Button start;"라는 새로운 Button 타입의 변수를 선언했습니다. 하지만 "Button" 단어 부분에 빨간 줄이 생기면서 “error CS0246: The type or namespace name 'Button' could not be found (are you missing a using directive or an assembly reference?)”라는 에러가 발생했습니다. 그 이유는 무엇인가요?

  1. 버튼의 이름을 "start"로 설정할 수 없습니다. 해당 이름이 유니티 이벤트 함수의 이름이기 때문입니다.
  2. "Button"을 소문자 "button"으로 고쳐야 합니다.
  3. "using UnityEngine.UI;"를 클래스 상단에 기입하지 않았습니다.
  4. 새로운 Button 타입의 변수는 public으로 선언해야 합니다.

 

- 정답

더보기

답: 3

"Button"과 같은 UI 클래스 일부를 사용하려면, "UnityEngine.UI" 라이브러리를 포함시켜야 합니다.

 


 

문제 8

아래의 코드와 문서 내용을 봐주세요. 다음 중 에러가 발생하지 않는 코드는 몇 번째 줄인가요?

 

  1. 5번 줄
  2. 6번 줄
  3. 7번 줄
  4. 8번 줄

 

- 정답

더보기

답: 4

앞에 와야 하는 두 개의 매개변수는 Vector3 변수입니다. 옵션 D(8번 줄)만 해당 매개변수 자리에 Vector3 변수를 넣어주었습니다.

 


 

문제 9

버튼을 클릭했을 때, "Hello!" 메시지가 출력되는 버튼이 필요할 경우, 아래의 공백에는 어떤 코드가 들어가야 하나요?

 

  1. (SendMessage);
  2. (SendMessage("Hello");
  3. (SendMessage(string Hello));
  4. (SendMessage(Hello));

 

- 정답

더보기

답: 1

SendMessage에는 매개변수가 필요하지 않습니다. - 이 함수는 호출될 때와 관계없이 "Hello"를 출력합니다. 또한, 리스너를 추가할 때, 메서드의 이름만 작성하면 됩니다. - 괄호는 필요하지 않습니다.

 


 

문제 10

"enemies"라는 게임 오브젝트들의 새로운 리스트를 선언하는 올바른 방법은 무엇인가요?

 

  1. 1번 줄
  2. 2번 줄
  3. 3번 줄
  4. 4번 줄

 

- 정답

더보기

답: 4

public List <GameObject> enemies가 정답입니다. <GameObject> 부분은 필히 꺾쇠괄호로 작성해야 합니다. "GameObject"는 오브젝트의 타입이므로 복수형일 필요가 없습니다. 변수 이름은 따옴표로 묶지 않습니다.

 


 


수고하셨습니다!


Comments