ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL]2024-04-15
    TIL 2024. 4. 15. 21:56

    일단 반드시 구현해야 할 기능은 사다리 타기로 정했고

    챌린지 부분은 겹쳐서 구현해도 상관없을 것 같다 생각해서 남는 시간에 구현해봤습니다.

     

    3. 타이머 시간이 촉박할 때 게이머에게 경고하는 기능 작성해보기(시간이 붉게 변하거나 긴박한 배경음악으로 변경)

     

    *GameMaanager.cstimepublic으로 변경

    *AudioManager.csaudioSourcepublic으로 변경

    CanvasTimeTxt에 스크립트 붙이기

    //TimerWarning.cs
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    
    public class TimerWarning : MonoBehaviour
    {
    
        //타이머 시간이 촉박할 떄 게이머에게 경고하는 기능 작성
    
        /*
         *GameMaanager.cs의 time을 public으로 변경(참조하기 위함)
         *AudioManager.cs의 audioSource를 public으로 변경(참조하기 위함)
         *이 스크립트는 Canvas TimeTxt에 붙입니다.
         */
    
        Text timeText;
        bool runningCorutine;
        Coroutine coroutine;
        void Start()
        {
            timeText = GetComponent<Text>();
    
        }
    
        
        void Update()
        {
            /*
             *게임이 끝나기 5초 전
             *코루틴이 실행중이 아니고
             *타임 스케일이 0이 아니여야한다.
             */
            if (GameManager.Instance.time>=25f&& runningCorutine==false&&Time.timeScale!=0)
            {
                coroutine= StartCoroutine(Warning());
            }
            else if(Time.timeScale==0) 
            {
                StopCoroutine(coroutine);
                timeText.color = new Color(1f, 0f, 0f, 1);
                AudioManager.Instance.audioSource.pitch = 1.0f;
                runningCorutine = false;
    
            }
        }
    
        //5초가 남았을 때 시간의 색깔이 점점 빨간색으로 변하기+ 음악 속도 빠르게 하기
        IEnumerator Warning()
        {
            runningCorutine = true;
            float count = 255f;
    
            for (int i = 0; i<5;i++)
            {
                count -= 51f;
    
                timeText.color = new Color(1f, count/255f, count/255f, 1);//시간텍스트 빨개짐
                AudioManager.Instance.audioSource.pitch += 0.1f;//소리속도 빨라짐
    
                yield return new WaitForSecondsRealtime(1f);
    
            }
           
    
            AudioManager.Instance.audioSource.pitch = 1.0f;
            runningCorutine = false;
        }

     

    [Challenge]

    7. 실패할 때 마다 시간 감소 효과 넣어보기

    CanvasTimeTxt를 복사하고 이름을 penlatyTxt로 변경

     

    PosX= 180 PosY=400

    FontSize: 50

    Color : 255, 0, 0, 255

    GameManager.cs
    
    public penaltyTxt;
    
    ...
    
    public void isMatched()
    {
    	if(firstCard.index==secondCard.index)
    	{
    
    		...
    
    	}
    	else
    	{
            penaltyTxt.SetActive(true);
            time += 0.5f;
            Invoke("closeTxt", 0.5f);
            ...
    	}
    
    }

     

    8. 카드 뒤집기에서 실제로 카드가 뒤집어지는 모습 연출하기

    Card 애니메이터에서 애니메이션 바꾸기

    //Card.cs
    
    bool openCard;
    ...
    public void OpenCard()
    {
    	if(openCard==false&&Time.timeScale==1)
    	{
    		openCard = true;
    		//딜레이 주기
    		Invoke("openDelay", 1f);
    		...
    	}
    }
    
    void openDelay()
    {
    	openCard=false;
    }

     

    GitHub를 아직 사용할줄 몰라서 팀원분들 코드를 일일히 병합해서 테스트를 해봤습니다... 

    몇 분은 잘 합쳐졌고 몇 분은 아직 수정이 필요한 상황이지만 첫날치고 되게 잘 만들었다 생각

    처음으로 각각의 프로그래머 분들이랑 코드 합쳤는데 묘하게 잘돌아가서 신기했습니다.

    내일 합친 코드의 최적화와 변수 정리 그리고 합쳐지지 않는분들의 원인을 찾고 시간적 여유가 되면 챌린지 몇 개 더 구현하기로

    'TIL' 카테고리의 다른 글

    [TIL]C#문법 2  (0) 2024.04.23
    [TIL]C#문법1주차(수정중)  (0) 2024.04.23
    [TIL] 2024-04-18 협업툴 사용  (0) 2024.04.18
    [TIL]2024-04-17 GitHub  (1) 2024.04.17
    [TIL]2024-04-16  (0) 2024.04.16
Designed by Tistory.