stageTime += Time.deltaTime * mapRotation.rotatingTime;
spawn = 100;
if (stageTime >= 2 && spawn == 100)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
if (stageTime >= 2.3f && spawn == 99)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
if (stageTime >= 2.6f && spawn == 98)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
...
이런걸 update에 박아놓은 식이거든요 다른 적절한 함수를 몰라서...
근데 이러면 자꾸 적이 씹히더라고요
아무리 생각해도 다른 방안이 떠오르지가 않네요ㅠ
어떤 식으로 해야 안씹히고 적이 잘 나와줄까요?
+수정)
void Update ()
{
timer -= Time.deltaTime * mapRotation.rotatingTime;
if (timer <= 0)
{
stageTime++;
Spawn();
timer = 0.5f;
}
}
void Spawn()
{
if (stageTime == 4)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
if (stageTime == 5)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
if (stageTime == 6)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
if (stageTime == 7)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
if (stageTime == 8)
{
EnemyInfoSetting(enemyManager.Call().GetObject("enemy2"));
spawn--;
}
이런식으로 해봤는데 6번 7번이 씹히네요...
시간이 짧아서 씹히는건 아닌 것 같아요
1로 해봐도 2~3번정도 씹혀요ㅠㅠ
확정적 적 출현이면 안보이는 트리거를 플레이어가 밟으면 나오게해도댐
슈팅게임이라 적이 시간에 맞춰서 출현해줘야하는데 그럼 트리거를 시간에 맞춰서 만들어주면 될까요?
if(stageTime%2 == 0 && spawn > 0) enermyManager.Call().GetObject(“enermy2”)); 이렇게해도 나올듯 시간이 짝수일때마다 계속 콜해주니까
해보고왔는데 stageTime이 float이라그런지 %2를 못읽네요...그렇다고 반올림같은거 해버리면 1초동안 매 프레임마다 적 불러낼테고...
그러면 업데이트 부를때마다 카운트를 세고 그 카운트를 쪼개면 되지 않을까
업데이트에는 if문으로 시간만 체크하고, 적 스폰은 외부에 함수 만들어서 switch case문 작성하자 그냥... - dc App
프레임별 스폰인지 시간별 스폰인지 부터 명확히 해야할 것 같음
고쳐봤는데 이것도 씹히네요...수정해서 추가해볼게요
적을 잡으면 씹히고 안잡으면 안씹히네요...? 오브젝트풀 문제인것 같아요...다들 감사합니다
아니 그 이전에 적 배치를 전부 코드로 할셈인거야? ㄷㄷㄷ
저도 안그러고는 싶은데...혹시 다른 방법 있을까요?ㅠㅠ - dc App