20261028 델리게이트와 람다, 버블정렬 개요 델리게이트도 사용자 정의 데이터 형이다. 메서드 자체를 값처럼 다루게 해 주는 타입이다. 메서드를 변수에 담고, 매개변수로 넘기고, 여러개를 묶어 한꺼번에 호출할 수 있음. 구조는 같고 한 군데만 다른 코드 다음은 배열의 모든 요소를 제곱하는 메서드와, 두배로 만드는 메서드임. 두 메서드에서 다른 부분은 와
새 글이 올라오면 Develog 알림으로 알려드려요
20261028 델리게이트와 람다, 버블정렬 개요 델리게이트도 사용자 정의 데이터 형이다. 메서드 자체를 값처럼 다루게 해 주는 타입이다. 메서드를 변수에 담고, 매개변수로 넘기고, 여러개를 묶어 한꺼번에 호출할 수 있음. 구조는 같고 한 군데만 다른 코드 다음은 배열의 모든 요소를 제곱하는 메서드와, 두배로 만드는 메서드임. 두 메서드에서 다른 부분은 와
20261027 열거형과 비트 플래그 개요 열거형은 값에 이름을 붙여 하나의 타입으로 만드는 문법임. 여러 상태를 한 변수에 담아야 하는 경우가 있음(예를들어 하나의 캐릭터에 걸려있는 상태이상이 화상, 출혈, 독, 슬로우 스턴등 여러개가 걸린다던가 하는 경우). 이때 쓰는 것이 비트 플래그이고, 비트를 다루려면 2진법과 비트 연산자를 알아야 함. 열거형 숫
20261027 ZombieSurvival Item Random 생성, 삭제 및 GameManager, UIManager Item Random 생성 생성 자체는 ZombieSpawner와 비슷하다. 단 이번에는 생성위치를 몇가지로 지정해줬던 ZombieSpawner와 다르게 Random한 위치에 생성한다. 주의할점은 생성 위치를 NavMesh위의 Rando
20261026 ZombieSurvival IDamagable, Player추적, HpBar, Spawner Animator에서 Trigger로 상태변경시 주의사항 Animator에서 Animation변경을 Trigger로 발동시키는 경우 Trigger가 호출 되었을 때 바로 호출되고 사라지는게 아니라 호출될 수 있는 상황이 될때까지 대기했다가 호출된다.
20261023 ZombieSurvival 시작 LightMap 생성 3D게임은 LightMap을 구워야 한다(고정된 계산에 대한 연산 감소로 성능향상) Project 폴더위치를 변경하거나 새로 받으면 한번 구워줄 것. Window - Rendering - Lighting(Ctrl + 9) 열기 Lighting Settings의 Lighting Settin
20261022 구조체와 연산자 오버로딩 개요 연산자 오버로딩은 클래스나 구조체등 만든 타입에 , , 같은 연산자를 붙이는 문법임. 좌표를 더할 때 필드를 하나씩 더하는 대신 라고 쓸 수 있게 됨. 좌표, 색, 금액처럼 값처럼 다루고 싶은 작은 데이터 묶음이 구조체로 만들기에 알맞은 대상이고, 그런 것들이 연산자를 붙이면 자연스러워지는 대상이기도 함. Un
20261021 UniRun UI, GameManager, PlatformSpawner 추가 Awake GameObject가 Instantiate된 프레임에 실행되는것이 Awake이고 바로 다음 프레임에 실행되는 것이 Start이다. Start와 Update는 Component Script가 비활성화 되어있으면 실행이 안된다. 하지만 Awake는 Scrip
20261020 Unity 2D 게임(UniRun 미니게임) Package Manager 처음 프로젝트를 생성할 때 2D 혹은 3D로 설정을 하지만 이미 생성한 프로젝트라도 Package Manager에서 설정 수정을 통해서 변경이 가능하다. Unity 화면 상단의 Asset Store - My Assets로 열 수 있다. 외부 Asset 이번에는 외부 A
20261019 Unity UI 추가 Dodge에 UI 추가 Unity에는 3가지 UI시스템이 있다. 한가지는 수업때만 사용하고 사용 안한다고 보면 되고 남은 두가지는 UGUI, UI 툴킷이 있다. 이번 수업에서는 UGUI로 배울 예정이다. Canvas 생성 Hierarchy - UI (Canvas) - Canvas로 생성한다. Canvas 조작 Scene
20261016 Unity 시작-Dodge미니게임만들기 Unity 화면 설정 - 메인 화면 우상단 Layout에서 기본 Layout을 설정 할 수 있다. - 수업은 2By3인 상태로 Console창을 추가해서 진행한다.(화면 상단 Window - General - Console) - SaveLayout을 통해서 개인설정을 저장 할 수 있다. - Scene,
20261014 인터페이스 개요 상속은 "무엇인가"를 물려주는 문법임. 는 의 멤버를 가짐. 그런데 프로그램을 만들다 보면 서로 아무 관계도 없는 클래스들이 같은 일을 할 수 있어야 하는 경우가 나옴. 플레이어도 저장할 수 있고, 설정 화면도 저장할 수 있고, 세이브 슬롯 목록도 저장할 수 있음. 이 셋은 공통 부모를 둘 만한 사이가 아님. 인터페이스는 이
20261014 오버라이드와 다형성 오버라이드와 다형성 상속으로 물려받은 메서드를 자식이 그대로 쓰지 않고 자기 방식으로 다시 정의하는 것을 오버라이드라고 함. 그리고 부모 타입 변수 하나로 여러 자식을 다루면서 각자의 동작이 나오게 하는 것을 다형성이라고 함. 변수에 적힌 타입이 아니라 그 안에 실제로 들어있는 객체의 메서드가 실행됨. 이 한 가지 규칙이
20261013 상속 개요 비슷한 클래스를 여러 개 만들다 보면 같은 코드가 반복됨. 상속은 이미 만든 클래스의 멤버를 물려받아 새 클래스를 만드는 문법임. 물려받은 쪽은 차이 나는 부분만 적으면 됨. 와 은 과 을 적지 않았지만 가지고 있음. 에서 물려받았기 때문임. 상속의 필요 같은 코드가 반복되는 자리 게임에 등장하는 캐릭터 셋을 클래스로 만들면 아래
20261012 프로퍼티 개요 필드를 private으로 닫아 두면 값을 넣고 꺼낼 통로가 따로 필요함. 지금까지는 메서드를 통해서 넣고 꺼내도록 하였음. 프로퍼티는 같은 통로를 필드처럼 쓰이는 문법으로 바꿔준다. 단순히 코드만 보면 필드에 식접 닿는 것 같지만, 실제로는 클래스가 정한 코드가 사이에서 돌아감. 그래서 값을 검사하거나, 읽기만 허용하거나, 저
20261008 필드와 Static 개요 클래스 안에 데이터를 담는 자리를 필드(field)라고 함. 필드 자체는 변수와 다르지 않지만 클래스 안에 들어가면서 키워드를 통해서 세가지 정도 설정을 할 수있음. | 무엇에 대한 설정인가 | 방법 | | ------------------------------------ | ----------------------
20261008 메서드와 생성자 개요 생성자 없이 클래스를 생성 하려면 값을 채우는 것이 여러줄이 된다. 채우기 전까지는 각 객체는 값이 없는 상태로 존재하고 채우는 것을 빠뜨려도 알려주지 않는다. 생성자는 그 둘을 한 줄로 합친것이다. 인스턴스 메서드 이 붙지 않은 메서드를 인스턴스 메서드라고 함. 객체를 통해서만 부를 수 있고, 그 객체의 필드를 이름만
20261007 클래스와 객체 클래스는(class)는 서로 관련된 데이터와 기능을 하나의 이름 아래로 묶는 틀임. 클래스를 중심으로 프로그램을 짜는 방식을 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 라고 함. 4가지 기둥이 있음 | 기둥 | 뜻 | | --- | -------------------------------
20261006 함수2 개요 함수의 기본 형태로 풀리지 않는 상황이 있음. | 상황 | 해법 | | --------------------------- | --------- | | 하는 일은 같은데 받을 값의 타입이 여러 가지임 | 오버로딩 | | 넘긴 변수 자체를 함수가 바꿔 주길 원함 | | | 돌려줄 값이 둘 이상임 | , 튜플 | | 넘길 값의 개수가
20261002 문자열, 함수1 나누기와 합치기 Split 구분자를 기준으로 문자열을 잘라 배열로 만듬 - 주의사항: 구분자가 연달아 있으면 빈 조각이 생김 빈 조각을 버리려면 옵션을 사용하면 된다.() 구분자를 한번에 여러 개 지정할 수도 있다. - Join 의 반대다. 배열의 조각들을 구분자로 이어 하나의 문자열로 만든다. 반복문으로 이어붙일 경우 끝에
20261001 배열, 문자열1 배열(2차원배열) 행과 열로 이루어진 배열. 표 모양의 데이터라고 보면된다. 2차원 배열은 대괄호 안에 쉼표를 넣어 선언하고, 로 칸을 지정한다. GetLength 는 2차원 배열에서 전체 칸 수를 돌려준다. 행 수와 열 수는 각각 구해야 한다. 입력하는 변수는 각 배열의 순서로 만약 3차원 배열일 경우 각 자릿수의 크기를