2023-08-08 TIL

SeongH·2023년 8월 8일
0

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개의 댓글