23.8.13~ project : Avoiding Meteor

BABY CAT·2023년 8월 13일
0

unity

목록 보기
5/5

수정할 것

  • 위치 위로올라갈수록
    에너미스폰인터벌 업
    에이치피 재생 다운
  • 게임종료조건
    특정 스폰 완료
  • 맞을 때 red light
  • 게임종료 보드
    플레이시간
    점수
  • 플레이 중 보드
    남은 스폰

위로 오를수록~
플레이어 몸체 이펙트 업

  • 스프라이츠
    에너미
  • 에너미 다양화
    빨콩, 노콩
  • 성장요소
    적을 간신히 피하면 추가 코인

1. 위치 오를수록

a. 인터벌 down

플레이어y값을 가져와서

// 플레이어 y값 가져옴
        Player player = FindObjectOfType<Player>();
        if (player != null){
            Debug.Log(player.transform.position.y  + 5.7f);
            spawnInterval=1/(player.transform.position.y  + 5.7f);
        }

b. HP 재생 Down

//플레이어체력 hp 초당 재생
      if (hp<=99){
        // 아래 있으면 +10재생 맨위에 있으면 +1재생, transform.position.y + 5.7f는 1~10값
        hp+=10/(transform.position.y + 5.7f);
      }

디버깅

  • hp소수점 표기 문제
    hp변수를 int로 변환 먼저
textHP.SetText( "hp : " + ((int)hp).ToString()); // 남은 HP
- hp가 100을 넘어감
  • hp가 100을 넘어가는 문제
    hp회복을 하고 100을 넘었는지 검사
//플레이어체력 hp 초당 재생
      if (hp<=99){
        // 아래 있으면 +10재생 맨위에 있으면 +1재생, transform.position.y + 5.7f는 1~10값
        hp+=10/(transform.position.y + 5.7f);
        if (hp>100){
          hp=100
        }
      }

2. 게임 종료 조건

스폰 카운트 변수 가져오고

      // 스폰카운트 가져옴
      EnemySpawner enemySpawner = FindObjectOfType<EnemySpawner>();
      if (enemySpawner != null){
        Debug.Log(enemySpawner.spawnCount);
      }

1000스폰 시 종료 (중앙에 있으면 플레이타임 3분20초)

      // 스폰카운트 가져옴
      EnemySpawner enemySpawner = FindObjectOfType<EnemySpawner>();
      if (enemySpawner != null){
        Debug.Log(enemySpawner.spawnCount);
        if (enemySpawner.spawnCount>=1000){
          Debug.Log("게임오버");
          GameManager.instance.SetGameOver();
        }
      }

3. 충돌 시 red light

halo, flare, particle 이런걸로 하는 것 같은데 실패
particle은 적용했는데 원하는 파티클로 못 바꿈

4. 플레이 중 남은 스폰 표시

0개의 댓글