먹이
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에서 보드의 크기를 읽습니다.
챌린지
중급보드의 임의의 칸에 먹이를 놓으세요.
GameManager에public Snake snake;,public GameObject foodPrefab;및private Transform food;를 추가하세요(씬에서 앞의 두 항목을 연결합니다).Start()에서food = Instantiate(foodPrefab).transform;을 실행한 다음MoveFood()를 호출하세요.void MoveFood(): 먹이를 임의의 x와 z 위치에 놓으세요. 각각-snake.edge부터snake.edge까지의 값으로 하고, y는 0으로 설정하세요.
‘플레이’를 누르세요. 빨간 구체가 칸 위에 놓이며, 실행할 때마다 위치가 바뀝니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
using UnityEngine;
public class GameManager : MonoBehaviour
{
// 게임의 음식, 점수, 게임 오버를 관리합니다. Chapter 2에서 내용을 채웁니다.
}
Unity 게임: 3D 스네이크의 모든 레슨
직접 연습해 보세요: Unity 플레이그라운드