커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
piratecat 생성 오류 및 속도 질문
undefined주차
북마크
문*정
댓글
1
추천
1
조회수
19
조회수
19
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.



  1. pirateCat도 추가로 생성하려고 하는데 생성이 안되서 질문합니다. 따로 makecat함수에서 instantiate하면 생성은 문제 없이 되는데 if문안에 넣어서 레벨 4이상이면 생성하려고 하는데 왜 이것만 생성이 안되는지 궁금합니다. fatcat까지는 큰 문제 없이 해결했어요
  2. 분명 fatcat속도를 -0.03f로 설정했는데 normalcat보다 빨리내려와요 이건 왜 그런건가요?


스파르타 즉문즉답




  1. gameManager
void makeCat()
    {
        Instantiate(normalCat);
        // Instantiate(pirateCat); 이면 잘 생성됨


        if (level == 1)
        {
            float p = Random.Range(0, 10);
            if (p < 2) Instantiate(normalCat);
        }
        else if (level == 2)
        {
            float p = Random.Range(0, 10);
            if (p < 3) Instantiate(normalCat);
        }
        else if (level >= 3)
        {
            float p = Random.Range(0, 10);
            if (p < 3) Instantiate(normalCat);

            Instantiate(fatCat);
        }
        else if (level >= 4)
        {
            float p = Random.Range(0, 10);
            if (p < 3) Instantiate(fatCat);

            Instantiate(pirateCat); // 이부분은 생성안됨
        }
    }

2. 고양이 속도 부분

void Start()
    {
        float x = Random.Range(-8.5f, 8.5f);
        float y = 30.0f;
        transform.position = new Vector3(x, y, 0);

        if (type == 1)
        {
            full = 8.0f;
        }
        else if (type == 2)
        {
            full = 3.0f;
        }
    }

    // Update is called once per frame
    void Update()
    {
        if (energy < full)
        {
            if (type == 0)
            {
                transform.position += new Vector3(0.0f, -0.05f, 0.0f);
            }
            else if (type == 1)
            {
                transform.position += new Vector3(0.0f, -0.03f, 0.0f);
            } // 왜 더 빠르게 작동하는 건가요? 
            else if (type == 2)
            {
                transform.position += new Vector3(0.0f, -0.07f, 0.0f);
            }
            

            if (transform.position.y < -16.0f)
            {
                gameManager.I.gameOver();
            }
        }
        else
        {
            if (transform.position.x > 0)
            {
                transform.position += new Vector3(0.05f, 0.0f, 0.0f);
            }
            else
            {
                transform.position += new Vector3(-0.05f, 0.0f, 0.0f);
            }
            Destroy(gameObject, 3.0f);
        }
    }

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴