Priv's Blog
Programming Simple Functionality: Unit 3 - Sound and Effects) Quiz 3 본문
Programming Simple Functionality: Unit 3 - Sound and Effects) Quiz 3
Priv 2021. 7. 24. 18:10출처
문제 1
플레이어가 죽었을 때 적들이 생성되는 것을 멈추게 만들기 위해 아래와 같이 두 개의 스크립트를 작성하였습니다. 그러나, EnemySpawner 스크립트 파일 내에 밑줄 친, "isAlive" 코드 부분에서 에러가 발생했습니다. 에러가 발생한 이유가 무엇인가요?
- "playerController.isAlive"에서 "p"가 대문자여야 합니다.
- PlayerController 클래스 안에 "bool" 형 변수에 "public" 접근 지정자가 필요합니다.
- Update 메서드 안에는 if문을 사용할 수 없습니다.
- "isAlive"는 필히 대문자 "I"로 시작되어야 합니다. ("IsAlive")
- 정답
답: 2
다른 클래스에서 변수에 접근하기 위해서는, 변수에 "public"이 필요합니다. 기본적으로, 접근 지정자를 기입하지 않을 경우, 변수는 private 상태이며, 다른 클래스에서 접근할 수 없습니다.
문제 2
매개변수 세트들을 애니메이션 메서드에 맞게 배치해주세요.
- 1A, 2B, 3C
- 1A, 2C, 3B
- 1B, 2A, 3B
- 1C, 2A, 3B
- 정답
답: 3
SetInt는 정수형(interger) 매개변수를 필요로 하며, SetBool은 불리언(boolean) 매개변수를, SetTrigger는 트리거의 이름/id만을 필요로 합니다.
문제 3
아래에 주어진 애니메이션 컨트롤러 / 상태 머신 (animation controller / state machine)에서 캐릭터 트랜지션(transition) 값이 "Idle" 상태에서 "Walk" 상태로 바뀌도록 만드는 코드는 무엇입니까?
- setFloat("Speed_f", 0.3f);
- setInt("Speed_f", 1);
- setTrigger("Speed_f");
- setFloat("Speed_f", 0.1f);
- 정답
답: 1
inspector에서 "Speed_frk 0.25보다 큼"이라는 트랜지션의 상태 값을 보실 수 있습니다. 소수점을 사용하며 값이 0.25보다 커야 하기 때문에 float형이 필요하다는 것을 알 수 있습니다.
문제 4
GameObject의 AudioSource 컴포넌트 대한 올바른 참조 방법은 무엇인가요?
- A 줄
- B 줄
- C 줄
- D 줄
- 정답
답: 1
"GetComponent <AudioSource>();"는 GetComponent 메서드를 사용하는 올바른 방법입니다.
문제 5
아래 코드의 프로젝트를 실행했을 때, 다음과 같은 에러가 발생합니다: "NullReferenceException: Object reference not set to an instance of an object." 어느 부분이 문제인가요?
- Player 오브젝트가 collider를 가지고 있지 않음
- Enemy 오브젝트가 Rigidbody 컴포넌트를 가지고 있지 않음
- "Start" 메서드가 아니라 "Update" 메서드여야 함
- scene에 "Player"라는 이름의 오브젝트가 존재하지 않음
- 정답
답: 4
scene에 존재하지 않는 오브젝트에 대해 "Find" 함수를 사용하시면, "NullReferenceException" 에러가 발생합니다.
문제 6
플레이어가 땅에 서 있고 게임이 끝나지 않았음을 검사하는 조건문은 어느 것인가요?
- A 줄
- B 줄
- C 줄
- D 줄
- 정답
답: 3
!= 의 의미는 "같지 않다" 이므로, "gameOver != true"는 게임이 끝나지 않았다. 를 검사하는 문장입니다. 만약 여러분이 "isOnGround"처럼 불리언 이름만을 사용하실 경우, 해당 불리언 값이 참인지를 검사하게 됩니다. 두 가지 조건이 모두 만족하는 지를 검사하는 논리 연산자는 "&&"입니다.
문제 7
기본적으로 Animation Controller에서 어떤 state 값이 가장 먼저 사용되나요?
- "Any State"
- "NotCrouched"
- "Death"
- "Crouch_Up"
- 정답
답: 2
기본 시작 상태는 "Entry" 상태와 연결된 것입니다.
문제 8
다음 중, 유니티의 표준 명명 규칙을 따르는 변수 선언은 무엇인가요? (특히 대문자 사용과 관련하여)
- 2번 줄과 4번 줄
- 3번 줄과 6번 줄
- 4번 줄과 5번 줄
- 1번 줄과 5번 줄
- 정답
답: 4
- private Animator anim; - 정답
- private player Player; - “private Player player”이어야 합니다.
- Float JumpForce = 10.0f; - “float jumpForce = 10.0f"이어야 합니다.
- bool gameOver = True; - “true” (소문자 “t”)이어야 합니다.
- private Vector3 startPos; - 정답
- Public gameObject ObstaclePrefab; - “public GameObject obstaclePrefab”이어야 합니다.
문제 9
아래의 "Run"과 "Walk" 사이의 트랜지션을 나타내기 위한 상태 값으로 올바른 것은 무엇인가요?
- Jump_b가 참(true)
- Speed_f가 0.5보다 작음
- Speed_f가 0.5보다 큼
- Animation_int가 10보다 작음
- 정답
답: 2
만약 여러분이 달리기에서 걷기 상태로 전환할 경우, 속도가 줄어들 것이므로, "Speed_f가 0.5보다 작음"을 검사하는 것이 가장 적합합니다.
문제 10
다음 중, 단순한 이동 상태 머신에 가장 적합하다고 생각하는 것은 무엇인가요?
이미지 A.
이미지 B.
이미지 C.
- 이미지 A
- 이미지 B
- 이미지 C
- 정답
답: 1
기본 상태로 "Idle"로 시작한 다음, 모든 상태들(Idle, Walk, Run) 간에 전환이 가능해야 합니다. Walk와 Run 상태 간에는 필히 전환이 가능해야 합니다.