Priv's Blog
Programming Simple Functionality: Unit 5 - User Interface) Quiz 5 본문
Programming Simple Functionality: Unit 5 - User Interface) Quiz 5
Priv 2021. 7. 24. 18:16출처
문제 1
유니티 명명 규칙에 따른 코드는 몇 번인가요? (특히 대문자와 관련하여)
- 1번 줄
- 2번 줄
- 3번 줄
- 4번 줄
- 정답
답: 1
public void MultiplyScore(int currentScore)
"public", "void"와 "int" 키워드는 소문자로 작성해야 합니다. 메서드 이름("MultiplyScore"처럼)은 대문자로 작성해야 합니다. 변수 이름("currentScore"처럼)은 낙타 표기법으로 작성해야 합니다.
문제 2
스크립트 A 안에 불리언 변수가 있고, 스크립트 B 안에서 해당 변수에 접근하고자 합니다. 옳은 설명을 고르세요:
- 1번만 정답
- 1번과 2번이 정답
- 2번과 3번이 정답
- 3번과 4번이 정답
- 1번, 2번, 3번이 정답
- 전부 정답
- 정답
답: 2
접근하려는 스크립트에 대한 변수 레퍼런스는 항상 필요하며, 변수는 public으로 선언해야 합니다.
문제 3
결과적으로 오브젝트가 파괴되도록 만들려고 하면 공백에 어떤 코드를 채워 넣어야 하는지 고르세요.
- name = "player" && isDead && health < 5
- name != "player" && isDead != true && health > 5
- name == "player" && !isDead && health < 5
- name == "player" && isDead != true && health > 5
- 정답
답: 3
문자열을 비교하려면, 두 개의 ==가 필요합니다. 기본적으로 불리언 변수 값은 참으로 선언하지 않을 경우, 거짓이 됩니다. !isDead처럼 변수 앞에 느낌표 적어주면, 값이 거짓인지를 검사합니다. health = 3이므로, "health < 5"는 참입니다.
문제 4
게임을 실행했더니 콘솔 창에 다음과 같은 에러 메시지, "NullReferenceException: Object reference not set to an instance of an object”가 출력되었습니다. 아래의 이미지와 코드에서 문제를 해결하려면 어떤 부분을 수정해야 하나요?
- Hierarchy에서 "Game Manager"를 "gameManager"로 바꾼다.
- Hierarchy에서 "Game Manager"를 "GameManager"로 바꾼다.
- 1번 줄에서 "GameManager"를 "Game Manager"로 바꾼다.
- 3번 줄에서 GetComponent 코드를 삭제한다.
- 정답
답: 2
GameObject.Find("GameManager")가 NullReferenceException 에러를 반환하고 있습니다. 그 이유는 scene에 해당 이름을 가진 오브젝트가 없기 때문입니다. Hierarchy에서 공백을 지워 "GameManager"로 이름을 수정하시면 에러가 해결될 것입니다.
문제 5
아래의 OnMouseDrag 이벤트에 대한 유니티 문서와 첨부된 코드를 읽어보세요. 유저가 콜라이더가 있는 오브젝트를 10초 동안 마우스로 누르고 있을 경우, "counter" 변수 값은 몇이 되나요?
- 0
- 1
- 99
- 100
- 100 이상
- 정답
답: 4
함수는 마우스를 누르고 있는 "매 프레임 동안" 호출되므로, 10초 동안 100번 호출될 것입니다. 그러나, 조건이
문제 6
아래의 코드에서, 버튼을 클릭했을 때 콘솔 창에 무엇이 출력되는지 고르세요.
- "Welcome, Robert Smith"
- "Welcome, firstName Smith"
- "Button is ready"
- "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?)”라는 에러가 발생했습니다. 그 이유는 무엇인가요?
- 버튼의 이름을 "start"로 설정할 수 없습니다. 해당 이름이 유니티 이벤트 함수의 이름이기 때문입니다.
- "Button"을 소문자 "button"으로 고쳐야 합니다.
- "using UnityEngine.UI;"를 클래스 상단에 기입하지 않았습니다.
- 새로운 Button 타입의 변수는 public으로 선언해야 합니다.
- 정답
답: 3
"Button"과 같은 UI 클래스 일부를 사용하려면, "UnityEngine.UI" 라이브러리를 포함시켜야 합니다.
문제 8
아래의 코드와 문서 내용을 봐주세요. 다음 중 에러가 발생하지 않는 코드는 몇 번째 줄인가요?
- 5번 줄
- 6번 줄
- 7번 줄
- 8번 줄
- 정답
답: 4
앞에 와야 하는 두 개의 매개변수는 Vector3 변수입니다. 옵션 D(8번 줄)만 해당 매개변수 자리에 Vector3 변수를 넣어주었습니다.
문제 9
버튼을 클릭했을 때, "Hello!" 메시지가 출력되는 버튼이 필요할 경우, 아래의 공백에는 어떤 코드가 들어가야 하나요?
- (SendMessage);
- (SendMessage("Hello");
- (SendMessage(string Hello));
- (SendMessage(Hello));
- 정답
답: 1
SendMessage에는 매개변수가 필요하지 않습니다. - 이 함수는 호출될 때와 관계없이 "Hello"를 출력합니다. 또한, 리스너를 추가할 때, 메서드의 이름만 작성하면 됩니다. - 괄호는 필요하지 않습니다.
문제 10
"enemies"라는 게임 오브젝트들의 새로운 리스트를 선언하는 올바른 방법은 무엇인가요?
- 1번 줄
- 2번 줄
- 3번 줄
- 4번 줄
- 정답
답: 4
public List <GameObject> enemies가 정답입니다. <GameObject> 부분은 필히 꺾쇠괄호로 작성해야 합니다. "GameObject"는 오브젝트의 타입이므로 복수형일 필요가 없습니다. 변수 이름은 따옴표로 묶지 않습니다.