
SceneManager.LoadScene(1)
string값 대신 씬 인덱스번호를 넣어 안정적이게 됫다
PlayerPrefs.SetString("highScore", (HighScoreTxt.text));
HighScoreTxt.text = PlayerPrefs.GetString("highScore");
햇는데 안됫다.
처음엔 SetInt(int.Parse(highscore)) 이렇게 사용했는데
유니티 오류로 자꾸 string이 들어갈수 없다고 떠서 저렇게 바꿔봣는데도 안됫다.
알보고니 haskey 를 사용해서 저장된것이 있는지 확인후 불러와야 하는것같다.
SetInt(string Key, int value)
SetFloat(string Key, float value)
SetString(string Key, string value)
GetInt(string Key)
GetFloat(string Key)
GetString(string Key)
DeleteAll() : 모든 데이터를 삭제한다.
DeleteKey(String Key) : Key와 대응하는 값을 삭제한다.
HasKey(String Key) : Key가 존재하는지 확인한다.
Save() : 수정된 모든 preferences를 파일에 저장한다.
풀 스크립트에 있는 오브젝트 풀을 SerializeField로 받고
[SerializeField] private ObjectPool objectPool;
pool 변수에 있는 tag에 랜덤 0,2를 주어 0이 나오면 좀비를
나머지가 나오면 스켈레톤을 생성하게 만들었다
또 그 아래 위치도 각 화면 끝인 minX값과 maxX값에 동일하게 뽑아준
값을 넣어 왼쪽 오른쪽 랜덤하게 생성되게 만들었다
public void SpawnMonster()
{
string tag = Random.Range(0, 2) == 0 ? "zombiePrefab" : "skeletonPrefab";
GameObject monsterSpawn = objectPool.SpawnFromPool(tag);
speed = 3;
int randomX = Random.Range(0, 2);
float spawnX = randomX == 0 ? minX : maxX;
float spawnY = -2f;
// 몬스터 위치 설정
transform.position = new Vector2(spawnX, spawnY);
}