Menu
CoddyTech

먹이

Coddy의 Unity 게임: 3D 스네이크 코스 레슨. 14개 중 5번째.

먹이는 무작위 칸에 놓입니다. 칸은 정수이므로 Random.Range의 int 버전을 사용해 x와 z를 선택하세요. int에서는 최댓값이 제외됩니다. Random.Range(1, 7)은 주사위를 굴려 1부터 6까지의 값을 반환합니다. 어떤 수를 포함하려면 그 수보다 1 큰 값을 요청하세요. float를 사용하면 셀의 중앙값이 아니라 3.62와 같은 숫자가 반환됩니다.

한 변의 길이가 4인 보드에서 열은 -4부터 4까지 이어집니다.

int x = Random.Range(-4, 5);   // -4부터 4까지

보드에는 한 번에 먹이가 하나만 있으므로, 게임은 Start()에서 한 번 생성하고 새로운 위치가 필요할 때마다 이동시킵니다. GameManager는 snake 필드를 통해 뱀의 edge에서 보드의 크기를 읽습니다.

challenge icon

챌린지

중급

보드의 임의의 칸에 먹이를 놓으세요.

  1. GameManager에 public Snake snake;, public GameObject foodPrefab; 및 private Transform food;를 추가하세요(씬에서 앞의 두 항목을 연결합니다).
  2. Start()에서 food = Instantiate(foodPrefab).transform;을 실행한 다음 MoveFood()를 호출하세요.
  3. void MoveFood(): 먹이를 임의의 x와 z 위치에 놓으세요. 각각 -snake.edge부터 snake.edge까지의 값으로 하고, y는 0으로 설정하세요.

‘플레이’를 누르세요. 빨간 구체가 칸 위에 놓이며, 실행할 때마다 위치가 바뀝니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

public class GameManager : MonoBehaviour
{
    // 게임의 음식, 점수, 게임 오버를 관리합니다. Chapter 2에서 내용을 채웁니다.
}

Unity 게임: 3D 스네이크의 모든 레슨

직접 연습해 보세요: Unity 플레이그라운드