이번 강의에서는 로직이 중요한 카드뒤집기 보드게임에 대해 배워보는 시간이이었다
또, 배열과 반복문을 써보았는데 어렵지는 않았지만 카드를 배치하는 수식이 어려웠다 혼자 스스로는 생각할 수 없을거 같아서 반복적인 복습이 필요한 부분이다
4주차에서 배운 내용
유니티에서 이미지 사이즈 조절하는 방법 : 카메라 size 조절, 이미지의 Pixels Per Unit 조절
*Unit : Scene에 보이는 작은 격자 네모 한칸을 1 Unit
* Pixels Per Unit : 한 유닛에 몇 Pixels을 보여줄 건지를 설정하는 값
(256x256의 pixel의 2D Sprite를 1x1 unit의 크기로 표현하고 싶다면 256/256 = 1 이므로 Pixels Per Unit 을 256으로 설정해주면 된다)
GameObject newCard = Instantiate(card);
: 새로운 카드 오브젝트를 가리키는 변수를 선언하여 인스턴스화 시킨다
newCard.Transform.parent = GameObject.Find("cards").transform;
: cards 라는 이름을 가진 게임 오브젝트를 찾아서 새로운 카드 오브젝트의 부모로 설정한다
그래서 이렇게 코드를 작성하면 cards오브젝트의 자식으로 새로운 카드 오브젝트로 인스턴스화 시킨다 라는 뜻 이다
OrderBy(item=> Random.Range(-1.0f,1.0f)).ToArray();
: OrderBy라는 함수는 특정 방식으로 정렬하겠다는 함수이고 ,
item=> Random.Range(-1.0f,1.0f)는 람다식으로 (입력매개변수)=>표현식 형태이며 표현식은 함수의 반환값을 계산하는 식으로 Range 메서드를 이용하여 -1.0f 부터 1.0f 사이의 무작위 실수 값을 생성하여 각 배열 요소에 대한 가중치 역할을 하여 이러한 가중치 기준으로 가중치가 작은 순서대로 정렬된 배열이 생성됩니다
ToArray()는 배열로 반환한다는 뜻으로 위의 배열이 생성된 것을 반환 합니다
어떤 이미지나 파일을 코드로 지정하고 싶을 때는 Resources 폴더를 만들어 옮겨두면 된다
newCard.transform.Find("front").GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>(rtanName);
: 자식 오브젝트 중 front를 찾고 sprite를 Resource 파일에 있는 이미지를 넣어준다
GameObject.Find("cards").transform.childCount;
: 게임 오브젝트의 하위 오브젝트들이 얼마나 남아있는지 ChildCount로 알 수 있다
'개발일지' 카테고리의 다른 글
[왕초보 유니티] 4주차 - 르탄이를 찾아라 기능 추가 구현 (0) | 2023.08.06 |
---|---|
[왕초보 유니티] 5주차(완강) (0) | 2023.08.04 |
[왕초보 유니티] 3주차 - 고양이 밥주기 게임 기능 추가 (0) | 2023.08.03 |
[왕초보 유니티] 2주차 - 풍선을 지켜라 기능 추가 (0) | 2023.08.03 |
[왕초보 유니티] 3주차 (0) | 2023.08.03 |