Unity 내일배움캠프 TIL 0807 | Git 명령어 | 앞으로의 각오

cheeseonrose·2023년 8월 7일
0

Unity 내일배움캠프

목록 보기
1/89
post-thumbnail

첫날에는 내일배움캠프 OT를 하면서 앞으로의 일정과 내배캠의 전체적인 흐름에 대해 살펴봤다

이후에 팀별로 모여서 미니 팀 프로젝트를 시작했당

원래 점심시간 1시부터인데 우리 팀은 금방 배가 고파서 12시부터 1시까지 하기로 함 ㅎㅅㅎ

점심을 먹은 뒤에는 Git 특강이 있었다

너무...너무...졸렸....더보기

~ 오늘 한 것들 정리 ~

Git 특강

Git과 GitHub

  • Git : 코드의 변경점을 기록하기 위해 사용 -> "버전 관리 도구"
    • 기능을 개발하면서 코드의 변경점을 기록
    • 문제가 생겼을 때 특정 지점으로 되돌아 갈 수 있음
  • GitHub : 온라인 코드 저장소
    • 백업과 공유

리눅스 명령어 정리

  1. pwd
    • print working directory
    • 현재 내가 작업 중인 폴더를 보여줌
  1. ls

    • 현재 위치의 모든 폴더와 파일을 리스트로 보여줘라
    • ls - a : 숨겨져 있는 파일도 보여줌
  2. mkdir <폴더명>

    • 현재 경로에서 폴더를 생성
  3. touch <파일명>

    • 현재 경로에서 파일을 생성
  4. cd <경로>

    • change directory
    • 폴더 위치를 이동하기 위해 사용
    • .. 은 상위 폴더를 의미함

Git 명령어

  1. git init
    • 프로젝트 시작 시 한 번만 하면 됨
    • .git 폴더를 생성
  2. git add <파일명>
    • 저장할 파일을 지정
    • 파일명 대신 "." 을 입력하면 모든 파일을 add함
  3. git commit -m "메세지"
    • 실제로 저장하는 명령어
    • 메세지에는 commit과 관련된 내용을 메모
  4. git status
    • git의 상태를 보여줌
  5. git log
    • 저장한 커밋 내역을 볼 수 있음
    • q를 입력하여 빠져나올 수 있음
  6. git branch <브랜치명>
    • 새로운 branch를 생성
    • 그냥 git branch는 브랜치 리스트를 확인
  7. git switch <브랜치명> , git checkout <브랜치명>
    • 다른 branch로 이동
    • switch는 최신 문법
    • git switch -c <브랜치명> (git checkout -b <브랜치명>) : 브랜치를 새로 만들고, 그 브랜치로 이동
  8. git merge
    • 브랜치 내용을 합침
  • .gitignore에 github에 올리고 싶지 않은 파일명을 지정

팀 프로젝트

개발이 처음이신 분도 계셔서 추가 기능별로 어떻게 구현하면 좋을지 회의한 뒤에 역할 분담을 했다

나는 카드 매칭 시도 횟수를 추가하는 부분과 시간이 얼마 남지 않았을 때 시간의 색과 배경음악을 변경하는 부분을 맡았다

카드 매칭 시도 횟수 추가

  • 이 부분은 딱히 어려운게 아니라 수월하게 구현했다
  • GameManager 스크립트를 수정했는데, 횟수를 표시할 GameObject를 받아오고 매칭 시도 횟수를 카운트 할 전역변수를 선언했다.
    이후 Update와 GameEnd 함수에서 게임이 끝났을 때 횟수 표시 오브젝트에 값을 넣고 활성화해주었다.
    public GameObject tryMatchCountText;
    int tryMatchCount;
    
    void Start() {
    	tryMatchCount = 0;
      
      ...
    }
    
    void Update() {
    	// 원래 30초 이상이면 멈추는 부분인데 
      // 뒷부분 기능 구현을 위해 30초에서 0초로 시간이 줄어드는 로직으로 변경함
    	if (time <= 0f) { 
      		...
      		tryMatchCountText.GetComponent<Text>().text = tryMatchCount + " try";
            tryMatchCountText.SetActive(true);
        } 
        
        ...
    }
    
    ...
    
    void GameEnd() {
    	tryMatchCountText.GetComponent<Text>().text = tryMatchCount + " try";
        tryMatchCountText.SetActive(true);
    }

시간이 5초 이하일 때 시간 색상과 배경음악 변경

  • 우선 GameManager 스크립트에서 AudioManager 기능을 사용해야 하기 때문에, AudioManager를 싱글톤 패턴으로 만들어줬다. 그리고 바꿀 배경음악을 받아올 AudioClip과 배경음악을 변경하는 함수를 추가했다.

    ...
    
    public AudioClip speedUpMusic;
    
    public static audioManager A;
    
     private void Awake() {
    	if (A == null) A = this;
     }
    
     ...
     
     public void playSpeedUpMusic() {
     	audioSource.clip = speedUpMusic;
      	audioSource.Play();
     }
  • 이후에 GameManager 스크립트에 시간이 5초 이하일 경우, 시간 색상을 변경하고 AudioManager의 함수를 호출해주었다.

    void Update() {
    	if (time <= 0f) {
      		...
      	} else if (time <= 5f) {
          	timeText.color = Color.red;
            audioManager.A.playSpeedUpMusic();
        }
        time -= Time.deltaTime;
        timeText.text = time.ToString("N2");
        ...
     }	
  • 근데 문제가 생김
    -> 5초 이하가 되면 배경음악 멈추고 게임이 끝나야 바뀐 배경음악이 나오는 것!!!

  • 그래서 코드를 다시 천천히 살펴본 결과, 5초 이하일 때마다 AudioManager의 함수를 호출해서 바뀐 배경음악이 재생재생재생재생재생 되는 것이었다. 그래서 나오려다 만 것

  • 해결법 : bool 변수를 추가해서 스피드업을 했는지 체크해준다

    void Update() {
    	if (time <= 0f) {
      		...
      	} else if (time <= 5f) {
          	if (!isSpeedUp) {
          		timeText.color = Color.red;
            	audioManager.A.playSpeedUpMusic();
              	isSpeedUp = true;
            }
        }
        time -= Time.deltaTime;
        timeText.text = time.ToString("N2");
        ...
     }	

기능 구현 끗~~~


내일배움캠프 8기를 시작하는 마음

  • 난 어떤 삶을 살아왔는가

    꽤나 대충 살면서 열심히 사는 척 함

  • 개발자 진로를 결정하고 내일배움캠프에 참가한 계기

    처음에 개발자가 되고 싶었던 것은 게임 개발이 하고 싶어서였다. 나는 게임을 하는 것도 좋아하고, 게임 방송 보는 것도 좋아한다. 한때 옵드컵 5번씩 돌려보던 사람이 저예요 (우리 옵치 정상 영업합니다...)

    대학교도 컴공으로 가게 되었는데, 개발 걸음마를 떼고 처음 동아리에서 접해본 것이 안드로이드 앱 개발이었다. 그당시 나는 그게 내 천직인 줄 알았음. (당연함. 처음하니까 재밌을 수밖에 없음) 뭐? 내가 인스타도 만들 수 있고 유투브도 만들 수 있다고??? 진짜 개쩐다;;; 이러면서 열심히 배웠는데, 원래 어딜 가든 신입이 제일 열심히지 않나.

    배우면 배울수록 흥미가 떨어지고 내가 진짜 이걸 하고싶었던게 맞나 싶은 순간이 많아졌다. 근데 안드 공부를 몇년을 해서 한순간에 놓을 용기도 없었다. 그래서 결국은 생각이 어디까지 가냐면 애초에 개발이 내 적성에 맞긴한가, "전공이 적성에 안 맞아요 흑흑" 이게 내 얘기였다고?! 세상이 날 억까하네 .. 이랬다.

    그러다가 아무래도 안드로이드 UI가 진심 (개)구려서 만들 맛이 안 나는가보다 하고 Flutter를 공부해보기 시작했다. 국비지원 강의로 Flutter랑 Unity를 동시에 들을 수 있었다. 근데 배우면서 느꼈던 점은 Unity 강의가 오히려 더 기다려지고 설렜던 것, 또 만들 때 훨씬 재밌던 것이다. 헉!!!

    그렇게 국비지원 강의가 끝나고 또 흘러가는대로 살다가 좋은 Flutter 강의를 들으면서 Flutter에 흥미를 붙일 때쯤 내일배움캠프를 발견한 것. 근데 Unity 코스래. 우째?

    이때부터 정말 많이 고민했다. 내가 몇년 동안 해왔던 것들을 다 부정하는게 될까봐 겁도 났던 것 같다. 왜냐!!! 나는 쫄보니까!!!!!!!!!!!!!! 대학 4년치 등록금과 학자금 대출이 눈에 아른거렸다!!!!!

    그렇게 고민을 하던 어느날 친구들이랑 바비를 보러갔다. (갑자기요?) 쓰면서도 어이없는데 바비 보고 친구들이랑 아주 유익하고 뜻깊은 대화를 하면서 내배캠 참가하기로 결정함 고맙다 친구들아!! 스페셜 땡쓰 투 바비 두아리파 OST 안 들은 사람이랑 겸상 안 함

    그리고 난 아직 젊으니까! 만나이 덕분에 2살이나 어려졌으니까!! 더 늦기 전에 시작해야 한다~~~ 난 뭐든 할 수 있다!!!!! 이런 마인드 장착

  • 앞으로 어떻게 임할지

    수료하지 못하면 죽음뿐.


하나둘셋 파이팅 (쩌렁)

0개의 댓글