728x90
728x90
SerializeField(직렬화) -> private 변수지만 inspector 접근 가능
- List ->
List<Vector3> gridPosition = new List<Vector3>();
private void InitList()
{
gridPosition.Clear(); //Clear -> 기존 데이터 삭제(텅텅비게 만든다)
//이중 for문 -> 위치(1,1)~(6,6) -> mapSize=8
for (int x = 1; x < mapSize - 1; x++)
{
for (int y = 1; y < mapSize - 1; y++)
{
Vector3 pos = new Vector3(x, y, 0);
gridPosition.Add(pos);
}
}
}
private Vector3 RandomPosition()
{
int idx = Random.Range(0, gridPosition.Count);
Vector3 pos = gridPosition[idx];
gridPosition.RemoveAt(idx);
return pos;
}
Instantiate -> 생성하시오
Quaternion.identity -> 회전하지 않는다
- exit 생성
Instantiate(exit, new Vector3(mapSize - 1, mapSize - 1), Quaternion.identity);
- enemy 생성
//enemy는 level(ex)4)에 따라서 생성 수가 결정된다
//지역변수는 초기값이 필수
int count = 2;
Count enemyCount = new Count(count,count+1);
LayoutObject(enemyTiles, enemyCount);
- Level Image 시작 후 2초뒤 비활성화 시키기
- Invoke - 자신이 설정한 시간만큼 함수 시작 시간을 지연시키는 기능
- Find - 찾아라
public class GameManager : MonoBehaviour
{
GameObject LevelImage; //활성과 비활성
private void Start()
{
InitGame();
}
void InitGame()
{
LevelImage = GameObject.Find("LevelImage");
Invoke ("HideLevelImage", 2);
}
void HideLevelImage()
{
LevelImage.SetActive(false);
}
}
private void Start---------------> public void Setupscene => 게임매니저가 호출하길 바라기 때문
boardManager = GetComponent<BoardManager>(); // 내것 | VS | LevelImage = GameObject.Find("LevelImage"); // 남의 것 levelText = GameObject.Find("LevelText").GetComponent<Text>(); |
728x90
'유니티 > C#' 카테고리의 다른 글
13. 간단 로그라이크 만들기 - 4 (0) | 2023.04.05 |
---|---|
12. 간단 로그라이크 만들기 - 3 (0) | 2023.04.04 |
10. 간단한 로그라이크 게임 만들기 Start (0) | 2023.03.31 |
9. C# 기초 수업 -9 (0) | 2023.03.30 |
8. C# 기초 수업 -8 (0) | 2023.03.29 |