2023-08-08 TIL

SeongH·2023년 8월 8일

Unity

오늘 학습 진행상황

  1. 게임 개발 종합반 4주차(카드 뒤집기 게임) 강의자료를 통해 공부하면서 제작

  2. 강의 자료 없이 다시 한번 카드 뒤집기 게임 제작

  3. git 특강 복습 및 직접 git을 이용해서 파일 다뤄보기

새롭게 알게 된 것

유니티 using System.LInq; >> 배열, 리스트를 다룰때 코드 간결화를 위해 쓰는 기능

예시) List 에서 현재 위치와 2f 보다 멀리 떨어져 있는 요소를 오름차순으로 필터링
public class MyTest : MonoBehaviour
{
public List positionList; //원본 Vector 리스트
public List filter_positionList; // 필터 후 담을 Vector 리스트

// for문을 사용한 경우
public void NormalFuntion()
{
    filter_positionList = new List<Vector3>();
    List<Vector3> pre_filter_positionList = new List<Vector3>();

    for (int i = 0; i < positionList.Count; i++)
    {
        if (Vector3.Distance(transform.position, positionList[i]) > 2f)
            pre_filter_positionList.Add(positionList[i]);
    }
    
    for (int i = 0; i < pre_filter_positionList.Count; i++)
    {
        int l_higherNum = 0;

        for (int j = 0; j < filter_positionList.Count; j++)
        {
            if (Vector3.Distance(transform.position, pre_filter_positionList[i]) 
                > Vector3.Distance(transform.position, filter_positionList[j]))
                l_higherNum++;
        }

        filter_positionList.Insert(l_higherNum, pre_filter_positionList[i]);
    }

}

// LINQ를 사용한 경우
public void LINQFuntion()
{
    filter_positionList = new List<Vector3>();

    filter_positionList = positionList
        .Where(n => Vector3.Distance(transform.position, n) > 2f)
        .OrderBy(n => Vector3.Distance(transform.position, n))
        .ToList();
}

}

OrderBy >>> 추출된 데이터를 오름차순으로 정렬하는 메서드
ex) 원소의 속성으로 정렬 , 내림차순으로 정렬, 클래스 속성으로 정렬 등

**OrderBy 함수의 정의 : 시퀀스의 요소를 키에따라 오름차순으로 정렬합니다
(4주차 강의에서 시퀀스가 item 즉, rtans 배열이고 키는 Random.Range 결과값)

이미지를 꺼내오고 싶으면 resources 폴더에 옮겨두기 (Resources.Load<>() 통해서 가져올 수 있음)

Invoke 함수 >> 시간 지연 함수

유니티의 transform >> 회전, 포지션, 스케일, 부모자식 관계에서 이용

추가로 공부 해야 될 것

  1. <람다식> 정확한 개념과 사용하는 이유
  2. 4강 강의에서 카드 두개가 선택 되었을때 다른 카드들은 선택 못하게 하는 코드 생각해보기
profile
개발자 꿈나무

0개의 댓글