본문 바로가기

[내배캠] 본 캠프 개발 학습/매일매일 쓰는 TIL

9월 10일 화요일 본 캠프 개발 일지

깃허브
* 강의 정리본


if; 유니티로 파일을 수정하게 되면? 


change > 변경된 부분(파일)이 표시됨; > summary로 메모 (영어만) > commit > push = 서버로 취합 (적용)
개인 작업물을 올릴 때 '어떤 작업물인지 구분'하기 위해 메모 가능 (ex. add object (오브젝트 추가)

if; 다른 서버에 내 변경 파일 취합하려면? 
전제: 자식저장소 서버에 컴퓨터 파일을 push한 상황에서;

부모 저장소에서 자식 저장소를 merge해서 동기화 

부모저장소(ex. main) 브렌치에서 >  파일을 가져올 자식브렌치 merge 
다른 사람이 서버에 머지한 파일을 받아오려면; pull 



commit: 메모 하나하나 
history: 메모를 기록해두는 것
push: 저장소에서 서버로 올리기
pull: 저장소에서 있는 파일을 컴퓨터로 가져오기
branch: 각각의 저장소
merge: 취합  

깃은 버전 관리 시스템!;

어떻게 이 프로젝트가 발전하고 있는지 확인 가능

 

주의사항;

부모저장소에 merge하기 전에 확인할 것;

 

1) merge하기 전에 부모 브랜치로 이동해서 변경점이 있나 확인
2) 변경점이 있다면, 자신의 브랜치로 되돌아와서 부모 브랜치를 merge
3) 이 작업이 끝나면 부모 브랜치로 이동해서 자신의 브랜치를 merge

> 원래는 부모 브랜치에서 바로 자식 브랜치를 merge해도 관계 x, but 최대한 오류 방지.

* 기타 충돌/오류 현상은 작업하면서 추가하기. 


4주차 강의 흐름 이해 및 미니프로젝트

* 문제: 4주차 강의 함수 응용의 어려움, 새로운 함수 정리 필요, 기본 개념 이해도 부족 
* 목표: 4주차 강의 재정리, 새로운 함수 이해 

 

[1] 기본 개념

1) 필드(field): 변수를 선언하는 공간 

 

2) 메서드
일련의 문을 포함하는 코드 블록

어떤 값을 입력하면 입력된 값을 이용해 작업을 수행하고 결과를 반환

* 구조; 메서드명, 매개 변수, 반환 형식
매개 변수: 작업을 수행하는데 필요한 값들(입력값)을 내부로 전달하기 위해 사용되는 변수
반환 형식: 메서드가 모든 작업을 수행하고 반환받고자 하는 데이터 타입 
반환값이 없을 경우에는 void < 사용

void가 아닌 경우에는 반드시 return 반환값

3) 변수와 매개변수의 차이;
변수: 데이터를 저장하고 클래스, 메서드 내 다양한 곳에서 사용
int number = 10; // 변수 'number'에 10이라는 값을 저장
string message = "Hello";
매개변수: 메서드나 함수가 호출될 때 외부에서 전달받는 값을 받는 변수 

 

정리하자면;
일단 반환 형식과 매개 변수는 별개임. 

 


함수는 인풋과 아웃풋으로 구성되어 있는데 매개변수는 인풋이라고 생각하면 쉬움. 
좀 더 풀어서 설명하면; 함수를 구성할 때 함수 안에서 어떤 변수를 아웃풋으로 받을 건지 정하는 것. 

* 아직 완벽하게 이해 못 함🤯 나중에 직접 써보면서 재복습하자.   

4) hierachy  설정 한 번에 바꿀 때 shift 까먹지 말기. 

 

[2] 4주차 프로젝트 (코드 위주로) 

· 시간이 흐르게 하기

* 타이머는 다른 로직과 연동될 경우가 많아서 따로 스크립트를 만들지 않고 게임 매니저에서 진행하는 것이 일반적. 

public Text timeTxt; 
float time = 0.0f; // time 변수에 0을 할당


void Update()

{
      time += Time.deltaTime;
      timeTxt.text = time.ToString("N2");
}


> time 데이터 값을 계속 더하겠다 
> 이 time 값은 소수 두 자리까지만 timeTxt 변수에 구현된다 


Text: 함수가 아니라 클래스. 유니티 기능을 가져와서 컴포넌트로 사용하겠다는 개념
ToString: 객체나 데이터 형식을 문자열로 변환 () 안에 어디까지 표시할지 지정할 수 있음 

Time.deltaTime;?


먼저 프레임과 업데이트의 개념부터 이해하자. 
메소드 업데이트(void update)는 프레임이 바뀔 때마다 호출된다. 
즉, FPS(1초당 보여지는 화면의 장수)의 영향을 받는다. 

if, FPS에 따른 속도를 조절해주지 않는다면;

void Update()

{
        time += 0.1f;
}


프레임 속도가 빠를 때는 더 빠르게, 느릴 때는 더 느리게 시간이 가게 되는 오류가 발생. 
즉, 누군가는 30초짜리 게임을 하고 누군가는 40초짜리 게임을 할 수 있게 되는 것이다. 

그래서 deltaTime으로 프레임 속도를 맞춰주는 것.