TIL

2023/10/31 TIL

미역제자 2023. 10. 31. 20:53


먼저 어제 하지 못했던 팀원들 사진을 깔끔하게 정리했다.

 

팀원들 사진의 사이즈가 재각각이였기 때문에 먼저 이미지 편집 사이트를 이용해 사진을 1대 1 비율로 다 잘라주었다.

https://www.iloveimg.com/ko/crop-image

 

이미지를 신속하게, 무료로 잘라내세요!

JPG, PNG, GIF 파일을 신속하게, 무료로 잘라내세요!

www.iloveimg.com

위 사이트를 이용하면 픽셀개수로 자를 수 있는데 유니티의 특성상 화면에 픽셀로 나타나기 때문에 굉장히 유용했다.

 

이렇게 자른 팀원들 사진을 Resource에 담고, Inspector에 Pixels Per Unit을 이용해서 아까 자른 픽셀 사이즈만큼 넣어주면 모든 이미지들을 같은 사이즈의 Sprite에 담을 수 있다.

 

오늘 날 제일 애먹인것은 캐릭터 해금이였다. 카드게임에서 팀원들의 얼굴을 맞추면 갤러리에서 그 카드의 인물의 TMI를 볼 수 있도록 하는 것이다.

 

https://www.youtube.com/watch?v=QxsH5fE0iAo&list=PLO-mt5Iu5TeZF8xMHqtT_DhAPKmjF6i3x&index=20

골드메탈님의 해금 시스템을 이용해 볼려고 했다.

 

 

먼저 팀원들의 해금 전 모습과 해금 후 모습을

public GameObject[] lockCharacter
public GameObject[] unlockCharacter

에 넣고  

enum Achive {UnlockFirst, UnlockSecond}
Achive[] achives;
void Awake()
{
	achives = (Achive[])Enum.GetValues(typeof(Achive));
    
    if(!PlayerPrefs.HasKey("MyData")) //HasKey함수로 데이터 유무 체크 후 초기화 실행
    {
    	Init();
    }
}

void Init()
{
	PlayerPrefs.SetInt("MyData", 1); //SetInt 함수를 사용하여 key와 연결된 int형 데이터를 저장
    
    foreach (Achive achive in achives)//foreach를 활용하여 순차적으로 데이터 저장
    {
    	PlayerPrefs.SetInt(achive.Tostring(), 0);
    }
}

 

카드를 발견한 후 해금을 위한 함수 새롭게 생성

void Start()
{
	UnlockCharacter(); //start에서 해금 함수 실행.
}

void UnlockCharacter()
{
	for{int index = 0; index < lockCharacter.Length; index++)
     //잠금 버튼 배열을 순회하면서 인덱스에 해당하는 업적 이름 가져오기
    {
    string achiveName = achives[index].ToString();
    bool isUnlock = PlayerPrefs.GetInt(achiveName)==1;
    	//GetInt함수로 저장된 업적 상태를 가져와서 버튼 활성화에 적용
    lockCharacter[index].SetActive(!isUnlock); //부정이기 때문에 !사용
    unlockCharacter[index].SetActive(isUnlock);
    }
}

void Update()
{
}

와 같이 함수를 완성했다. 하지만 아직 어떤 카드를 뒤집었는지, 그 카드는 무엇인지 가져오는 로직을 만들지 못했다.

이는 내일 마무리 할 예정이다.

 

++왜 안될까? 왜? 왜??? 뭐가 문제지??? 흑흑...


오늘은 14시 부터 Git에 관한 강의가 있었다. 다음은 강의의 요약본이다.

 

git이란 무엇인가?

VCS중 하나이다.(version control system의 약자로, 버전을 관리하는 시스템이다.)

git을 사용한(VCS) 프로그램은?

깃허브, gitlab이 예시이다.

git을 사용하는 이유?
1. 협업시에 굉장히 유용하기 때문이다. -> 협업을 위한 원격 저장소로 쓰인다.
2. 시간여행(?)이 가능하다. 깃을 이용하면 과거 원하는 시점으로 이동해서 작업이 가능하다. ->형상(버전)관리용도로 쓰인다.

로컬저장소=내 컴퓨터
원격저장소(클라우드)

 

GitHub Desktop 사용법
asset-> show in explorer->github에서 show in explorer->unity에 있던 파일들을 복사해서 github에 붙여넣기

->commit

commit이란? 

쉽게 말해 로컬 저장소에다 캡쳐를 뜬 것이다. 저장한 것도 아니다.

 

undo:commit을 지운다. (commit 자체를 되돌리고 싶을때 사용한다.)
amend: 이름과 description을 변경할 수 있다. (정보에 대한 수정이 필요할 때 쓰인다. 이미 push 한 경우 사용가능하다.)

discard:수정사항 중 하나만 되돌리는 것이다. (undo와는 다름)
stashed changes: 수정사항을 휴지통에 임시로 옮겨놓은 것이다.
->restore누르면 다시 복구가능!

Pull: 원격저장소에 있는 수정사항을 당겨오는 것이다. 팀원들이 한 내용을 다운받는다 보면 된다.
Push: 로컬에서 원격으로 커밋되어있는 내 파일들을 밀어넣는 것이다. 내가 한 내용을 공유하는 것이다.

github홈페이지에 <>Code를 눌러서 나오는 주소로 프로젝트를 남에게 공유할 수 있다.

main이 있고 그 main에서 뻗어나온 branch들이 있다.

~branch to merge into ~ : main에다가 어떤 branch를 합칠것인가?
->이것도 undo가능하다. 

Checkout: history에서 checkout commit을 누르면 그 시점에서 다시 시작할 수 있다.

 

이정도로 요약할 수 있을 것 같다.



'TIL' 카테고리의 다른 글

2023/11/06 TIL  (0) 2023.11.06
2023/11/03 TIL  (1) 2023.11.03
2023/11/02 TIL  (1) 2023.11.02
2023/11/01 TIL  (1) 2023.11.01
2023/10/30 TIL  (0) 2023.10.30