본문 바로가기

분류 전체보기40

3장 함수 객체 3. 함수 객체 3-1. 함수 객체란 함수처럼 동작하는 객체로, ()연산자를 정의해야 한다. struct Func { void operator()() { cout 2021. 6. 22.
2. 고급 문법 https://www.csharpstudy.com/CSharp/CSharp-Intro.aspx C# 프로그래밍 언어 - C# 프로그래밍 배우기 (Learn C# Programming) C# 프로그래밍 언어 C#은 마이크로소프트에서 개발된 객체 지향 프로그래밍 언어로서 Java 나 C++와 비슷한 면들을 많이 가지고 있다. C#을 이야기 하면 자연스럽게 .NET Framework을 함께 이야기 해야 www.csharpstudy.com 1. C# Indexer Indexer 클래스 객체의 데이터를 배열 형태(인덱스로 엑세스 가능)로 만든 것이다. 즉 클래스 객체는 배열이 아니지만, 배열처럼 [] 연산자로 접근이 가능하다. Sample sample = new Sample(); sample[0] = "First.. 2021. 6. 21.
1. 기초 문법 https://www.csharpstudy.com/CSharp/CSharp-Intro.aspx C# 프로그래밍 언어 - C# 프로그래밍 배우기 (Learn C# Programming) C# 프로그래밍 언어 C#은 마이크로소프트에서 개발된 객체 지향 프로그래밍 언어로서 Java 나 C++와 비슷한 면들을 많이 가지고 있다. C#을 이야기 하면 자연스럽게 .NET Framework을 함께 이야기 해야 www.csharpstudy.com 1. 시작 구조 namespace StudyC { class Program { static void Main(string[] args) // Main() 메소드는 static으로 1개만 { System.Console.Write("Hello World!"); } } } C# 프.. 2021. 6. 20.
2장 함수 포인터 2. 함수 포인터 2-1. 함수 포인터란 변수 : 값을 저장하는 메모리 공간의 이름 포인터 : 주소를 저장하는 메모리 공간의 이름 함수 포인터 : 함수의 시작 주소를 저장하는 포인터 void Print(int num) { cout 2021. 6. 17.
1장 연산자 오버로딩 1-1. 연산자 오버로딩이란 C++에서 제공하는 기본 타입이 아닌 클래스 타입, 즉 사용자 정의 타입에서도 연산자를 사용할 수 있게 만든 문법 n1 + n2; // + 연산자 오버로딩 n1 * n2; // * 연산자 오버로딩 n2 = n1; // = 연산자 1-2. 연산자 오버로딩 정의 및 사용 class Point { ... const Point operator+(const Point& p) { Point pt; pt.x = this->x + p.x; pt.y = this->y + p.y; return pt; } }; int main() { Point p1(2,3); Point p2(2,4); Point p3; p3 = p1 + p2; // p1.operator+(p2) } 1-3. 단항 연산자 오버로.. 2021. 6. 17.
[UE4/네트워크] 네트워킹과 멀티플레이어 1. 액터 리플리케이션 리플리케이션의 주역은 Actor이다. 서버는 엑터 목록을 유지하고, 클라이언트(리플리케이트되도록 마킹된) 각 에터에 대한 근접 추정치를 유지할 수 있또록 클라이언트를 주기적으로 업데이트한다. 1-1. 업데이트 주요 방식 1) 프로퍼티 업데이트 2) RPC (Remote Procedure Call) 방식 특징 프로퍼티 업데이트 변경될 때마다 자동으로 리플리케이트 된다. ex : 액터의 생명력(Hp)이 변화할 때만 전송된다. RPC 실행할 때만 리플리케이트를 한다. ex : 위치와 반경을 파라미터로 하는 RPC를 선언하고, 폭팔 발생시마다 호출하면 된다. 폭팔물을 프로퍼티로 하면 안되는 이유 : 폭팔이 자주 일어나지 않을 수 있기 때문이다. 1-2. 컴포넌트 리플리케이션 컴포넌트는 그.. 2020. 11. 26.
[UE4/네트워크] 클라이언트-서버 모델 및 네트워크 개요 1. 서버 1-1. 정의 1) UE4 멀티플레이어는 클라이언트-서버 모델을 기반 2) 게임 스테이트에 대해 모든 부분을 결정하는 서버가 하나 있고, 접속된 클라이언트는 가급적 서버에 가깝게 추정한다. 3) 서버는 중요한 의사결정을 전부 내리고, 모든 권위적 상태가 저장되고, 클라이언트 접속을 처리하고, 새로운 맵으로 이동하며, 경기 시작이나 종료와 같은 전반적인 게임 플레이 흐름을 담당한다. 1-2. 기본 명령어 유형 명령 리슨 서버 UE4Editor.exe ProjectName MapName?Listen -game 데디케이티드 서버 UE4Editor.exe ProjectName MapName -server -game -log 클라이언트 서버 UE4Editor.exe ProjectName ServerIP.. 2020. 11. 25.
[UE4/게임플레이 프레임 워크] 게임 모드와 게임 스테이트 1. 게임 모드와 게임 스테이트 1-1 게임 모드 1) 존재하는 플레이어, 허용된 플레이어, 관람자의 수, 최대 관람자 수 2) 플레이어가 게임에 들어오는 방식, 스폰 위치, 선택 규칙과 기타 스폰/리스폰 동작 3) 게임 일시정지 가능 여부, 게임 일시정지 처리 방식 4) 레벨간의 전환, 게임의 시네마틱 모드 시작 여부 포함 1-2 게임 스테이트 1) 게임 실행 기간 (로컬 플레이어 참가 전 실행 시간 포함). 2) 각 플레이어의 게임 참가 기간, 그 플레이어의 현재 상태. 3) 현재 게임 모드의 베이스 클래스. 4) 게임 시작 여부. 2. 게임 모드 2-1 게임 모드 베이스 1) 간략한 정의 : 고전 AGameMode를 단순화 시키고, 효율화 시킨 것 함수/이벤트 용도 InitGame InitGame .. 2020. 11. 25.
22 던전 시스템 기능 DungeonData(던전에 대한 데이터), DungeonUI(던전 입장 및 정보), DungeonManager(던전에 대한 기능), MonsterSpawner(몬스터 데이터 세팅 및 스폰), BattleUI(몬스터의 정보), DungeonClearUI(클리어 화면) ※ 참고 사항 1. 던전 메커니즘 : 던전 입구 도착 -> 입장 여부 확인 -> 입장 및 몬스터 세팅 -> 던전 시작 -> 보스전 입장 -> 클리어 2. 플레이어가 던전 입구(DungeonInteract) 근처 까지 이동한 후, 오브젝트를 클릭하면 던전 화면(DungeonUI)를 볼 수 있다. 2-1 DungeonUI : 던전의 배경사진, 제한 조건 및 보상에 대한 정보를 확인할 수 있으며, 입장 버튼을 누르면 해당 던전으로 전환된다... 2020. 6. 9.