Priv's Blog
Programming Basics: Unit 2 - Basic Gameplay) Quiz 2 본문
Programming Basics: Unit 2 - Basic Gameplay) Quiz 2
Priv 2021. 2. 20. 21:11출처
문제 1
콘솔 창에 "Hello there!"이라고 출력된다면, 해당 메시지를 출력하는 데 사용된 코드는 어떤 것인가요?
-
Debug("Hello there!");
-
Debug.Log("Hello there!");
-
Debug.Comsole("Hello there!");
-
Debug.Log(Hello there!);
- 정답
답: 2
Debug.Log()는 콘솔에 메시지를 출력하며, "Hello there!"처럼 따옴표 안에 문자열 매개변수를 기입할 수 있습니다.
문제 2
체력이 0이 되었을 때 오브젝트를 삭제하고 싶을 때, 빈칸에 들어갈 적합한 코드는 무엇인가요?
-
health > 0
-
health.0
-
health < 0
-
health < 0
- 정답
답: 3
"health" 변수가 정수형이므로, 1 미만의 값은 "0" 뿐입니다. "미만"을 의미하는 기호는 "<"입니다.
문제 3
아래의 코드는 “error CS1503: Argument 1: cannot convert from 'UnityEngine.GameObject[]' to 'UnityEngine.Object'”라는 에러가 발생합니다. 에러를 수정하려면 무엇을 해야 하나요?
-
A. 1번 줄, "GameObject[]"를 "GameObject"로 고친다.
-
B. 1번 줄, "enemyPrefabs"를 "enemyPrefabs [0]"으로 고친다.
-
C. 3번 줄, "Start()"를 "Update()"로 고친다.
-
D. 5번 줄, "enemyPrefabs"를 "enemyPrefabs[0]"으로 고친다.
-
A나 D 중에 하나
-
A와 D 모두
-
B와 C 모두
- 정답
답: 5
"GameObject[]"는 GameObject 배열입니다. 여러분은 배열을 인스턴스화 할 수 없습니다. 하지만 배열 안에 있는 오브젝트는 인스턴스화가 가능합니다. 그러므로, 배열을 삭제하고 각각의 오브젝트를 사용하도록 만들거나 (옵션 A) 또는 배열의 GameObject 인덱스 (옵션 D)를 사용할 수 있으나, 둘 다는 작동하지 않습니다.
문제 4
아래의 코드에 가장 적합한 주석은 무엇인가요?
-
// If player collides with another object, destroy player
(// 만약 플레이어가 다른 오브젝트와 충돌했을 경우, 플레이어를 삭제합니다.) -
// If enemy collides with another object, destroy the object
(// 만약 적이 다른 오브젝트와 충돌했을 경우, 오브젝트를 삭제합니다.) -
// If player collides with a trigger, destroy trigger
(// 만약 플레이어가 트리거와 충돌했을 경우, 트리거를 삭제합니다.) -
// If player collides with another object, destroy the object
(// 만약 플레이어가 다른 오브젝트와 충돌했을 경우, 오브젝트를 삭제합니다.)
- 정답
답: 4
PlayerController 클래스 내부에 있으며, other.gameObject, 즉, 플레이어와 충돌한 물체를 삭제하고 있습니다.
문제 5
만약 플레이어가 위 화살표를 누르는 동안 캐릭터가 위로 계속 나아가도록 만들려고 한다면, 아래의 두 빈칸에 들어가야 하는 두 코드는 무엇인가요?
-
GetKey(keyCode.UpArrow)
-
GetKeyDown(UpArrow)
-
GetkeyUp(keyCode.Up)
-
GetkeyHeld(Vector3.Up)
- 정답
답: 1
"Input.GetKey"는 유저가 키를 누르고 있는 중인지를 감지합니다. (키를 한 번 눌렀는지를 검사하는 KeyDown과는 반대입니다.)
문제 6
Unity Scription API 문서와 아래의 코드를 읽어보세요. randomFloat과 randomInt 변수에 올 수 있는 값은 무엇인가요?
-----
-----
-
randomFloat = 100.0f; randomInt = 0;
-
randomFloat = 100.0f; randomInt = 100;
-
randomFloat = 50.5f; ramdomInt = 100;
-
randomFloat = 0.0f; randomInt = 50.5;
- 정답
답: 1
문서에 나와있듯이, Random.Range는 정수의 최댓값을 포함하지 않지만, 실수의 최댓값은 포함합니다. 이는 randomInt는 100을 포함할 수 없으나, randomFloat는 포함할 수 있음을 의미합니다.
문제 7
배열에서 오브젝트를 무작위로 생성하려고 했으나, 여러분의 게임이 실행 중일 때, 콘솔에 “error at Assets/Scripts/SpawnManager.cs:5. IndexOutOfRangeException: Index was outside the bounds of the array.”라는 라는 에러가 떴습니다. 해당 에러를 해결하고 오브젝트를 무작위로 생성하는 기능을 유지하려면 어떤 줄의 코드를 편집해야 하나요?
-
2번 줄
-
3번 줄
-
4번 줄
-
5번 줄
- 정답
답: 3
오브젝트 인덱스를 생성하는 4번 줄은 배열 내의 오브젝트 개수에 비해 너무 높은 인덱스 값을 생성하고 있습니다. 가장 좋은 해결책은 코드를 "Random.Range(0,0, rnadomObjects.Length);"로 수정하는 것입니다.
문제 8
scene에서 프리팹을 변경하고 모든 프리팹의 변경사항을 저장하고 싶다면, 어떤 것을 클릭해야 하나요?
-
Hierarchy 상단에 있는 "Create" 드롭-다운 메뉴
-
Inspector 상단에 있는 "Open" 버튼
-
Inspector 상단에 있는 "Overrides" 드롭-다운 메뉴
-
Inspector 하단에 있는 "Add Component" 버튼
- 정답
답: 3
"Override" 드롭-다운 메뉴는 여러분이 만든 개별적인 프리팹의 변경사항을 기존의 프리팹 오브젝트에도 적용할 수 있도록 해줍니다.
문제 9
아래의 Unity Scripting API 문서를 읽어주세요. InvokeRepeating 메서드를 올바르게 사용한 코드는 무엇인가요?
-
InvokeRepeating("Spawn, 0.5f, 1.0f");
-
InvokeRepeating("Spawn", 0.5f, 1.0f);
-
InvokeRepeating("Spawn", gameObject, 1.0f);
-
InvokeRepeating(0.5f, 1.0f, "Spawn");
- 정답
답: 2
Scripting API에 따르면, InvokeRepeating는 문자열 매개변수와 두 개의 실수형(float) 매개변수가 필요합니다.
문제 10
속도가 너무 느리면 속도를 올리고, 속도가 너무 빠르면 속도를 낮추라고 유저에게 말해주는 로직을 짜려고 합니다. 이 로직을 구현하려면 아래 코드 줄을 어떻게 정렬해야 하나요?
-
4, 6, 1, 2, 5, 9, 7, 8, 3
-
6, 1, 2, 5, 7, 8, 3, 4, 9
-
7, 8, 3, 4, 6, 5, 2, 1, 9
-
7, 8, 3, 4, 6, 1, 2, 5, 9
- 정답
답: 4
모든 변수들을 먼저 선언한 다음, void 메서드 선언, 속도를 올리는 if문, 속도를 낮추는 else 문 순으로 작성해야 합니다.
수고하셨습니다!
'Unity Learn > Pathway: Junior Programmer' 카테고리의 다른 글
Programming Basics: Mod the Cube (0) | 2021.07.24 |
---|---|
Programming Basics: Quiz) Create with Code 1 (0) | 2021.07.24 |
Programming Basics: Unit 2 - Basic Gameplay) Lab 2 - New Project with Primitives (0) | 2021.02.20 |
Programming Basics: Unit 2 - Basic Gameplay) Challenge 2 - Play Fetch (0) | 2021.02.20 |
Programming Basics: Unit 2 - Basic Gameplay) Lesson 2.4 - Collision Decisions (0) | 2021.02.14 |