[Unity3D] 헥사게임 만들기 첫 번째 - 리소스 준비하기 및 캔버스 크기 설정.
※ 소스 출처 : 네이버 카페 > 유니티 허브 > 햐얀바람님.
0. 리소스 준비하기.
1). 배경 이미지.
2). 블럭보드의 배경 이미지.
3). UI테두리 이미지.
4). 블럭 이미지.
1. 캔버스 크기 설정하기.
- 게임뷰어 및 캔버스 크기 설정.
2. 블럭보드 만들기.
1). 블럭 프리팹 만들기.
-------------------------------------------------------------------------------------------
0. 리소스 준비하기.
- 배경이미지 (출처 : 구글링)
- 블럭보드의 배경이미지 (출처 : 포토샾으로 만듬)
- UI의 테두리 (하얀바람님 프로젝트 내장 리소스)
- 블럭 이미지 (하얀바람님 프로젝트 내장 리소스)
- 크기 : 가로 세로 : 100픽셀.
(출처 : 언더테일 구글링)
1. 캔버스 크기 설정하기.
1).
게임 뷰어를 720 x 1280으로 설정.
2).
마찬가지로 캔버스의 Canvas Scaler 컴포넌트의 UI Cale Mode를 Scale With Screen Size로 설정하고,
Reference Resolution을 게임뷰어와 같이 720 x 1280으로 설정한다.
'Unity3D > Project' 카테고리의 다른 글
[Unity3D] 헥사게임 만들기 두 번째- 블럭보드 만들기2 (0) | 2018.02.13 |
---|---|
[Unity3D] 헥사게임 만들기 두 번째 - 블럭보드 만들기. (0) | 2018.02.13 |
[Unity3D] 인벤토리 [Part 4] - Load (3) | 2017.04.24 |
[Unity3D] 인벤토리 [Part 4] - Save (3) | 2017.04.23 |
[Unity3D] 인벤토리 [Part 3] - Item Drag & Swap (5) | 2017.04.13 |
덱(Deque)
데이터를 앞으로도 뒤로도 넣을 수 있고,
앞으로도 뒤로도 뺄 수 있는 자료구조이다.
양반향 연결 리스트 기반으로 '덱' 구현.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | #include <stdio.h> #define FIRST 0 #define LAST 1 typedef struct Node { int Data; struct Node* pNext; struct Node* pUnder; }NODE; typedef struct DeQue { int Count; NODE* pHead; NODE* pTail; }DQ; void InitDQ(DQ* _dq) { _dq->Count = 0; _dq->pHead = NULL; _dq->pTail = NULL; } bool isEmpty(DQ* _dq) { if(_dq->pHead == NULL) return false; return true; } void push(DQ* _dq, int Data, int start = LAST) { NODE* NewNode = new NODE; NewNode->Data = Data; NewNode->pNext = NULL; NewNode->pUnder = NULL; if(_dq->pHead == NULL) { _dq->pHead = NewNode; _dq->pTail = NewNode; } else { if(start == FIRST) { NewNode->pNext = _dq->pHead; _dq->pHead->pUnder = NewNode; _dq->pHead = NewNode; } else { _dq->pTail->pNext = NewNode; NewNode->pUnder = _dq->pTail; _dq->pTail = NewNode; } } } int peek(DQ * _dq, int start = LAST) { if(_dq->pHead == NULL || _dq->pTail == NULL) return -1; if(start == FIRST) return _dq->pHead->Data; return _dq->pTail->Data; } void pop(DQ * _dq, int start = LAST) { if(_dq->pHead == NULL || _dq->pTail == NULL) return; NODE* pRemove; if(start == FIRST) { pRemove = _dq->pHead; _dq->pHead = _dq->pHead->pNext; _dq->pHead->pUnder = NULL; } else { pRemove = _dq->pTail; _dq->pTail = _dq->pTail->pUnder; _dq->pTail->pNext = NULL; } delete pRemove; } void DisPlay(DQ* _dq, int start = FIRST) { if(_dq->pHead == NULL || _dq->pTail == NULL) { printf("출력할 데이터가 없슴돠 \n"); return; } if(start == FIRST) { NODE* pNode = _dq->pHead; while(pNode != NULL) { printf("%d ", pNode->Data); pNode = pNode->pNext; } } else { NODE* pNode = _dq->pTail; while(pNode != NULL) { printf("%d ", pNode->Data); pNode = pNode->pUnder; } } printf("\n"); } void main() { DQ* dq = new DQ[sizeof(DQ)]; InitDQ(dq); for(int i = 0; i < 5; i++) push(dq, i); DisPlay(dq); } | cs |
'자료구조' 카테고리의 다른 글
단방향 연결리스트 반대로 뒤집기. (0) | 2017.04.11 |
---|---|
해시 테이블 (Hash Table) (0) | 2017.01.08 |
큐(Queue) (0) | 2017.01.07 |
스택(Stack) (0) | 2017.01.07 |
단방향 연결 리스트(Linked List) (0) | 2017.01.06 |
서드파티 네트워크 게임 엔진.
P2P 방식이 아닌 온라인 게임을 개발하려면 물리적인 서버와 네트워크 게임 서버가 필요하다.
네트워크 게임 서버를 자체적으로 개발하기 위해서는 오랜 시간과 개발 경험, 실력있는 개발자가 필요하다.
서버를 직접 개발하는 것이 현실적으로 어려울 때는 이미 검증된 네트워크 게임 엔진을 도입하는 것도 좋은 방법이다.
※ 유니티를 지원하는 대표적인 게임 엔진 목록.
제품명 |
홈페이지 |
Photon |
http://www.photonengine.com |
Muchefferent |
http://www.muchdifferent.co.kr |
ElectroServer |
http://www.electrotank.com |
SmartFox |
http://www.smartfoxserver.com |
프라우드넷 |
http://www.nettention.com |
포톤 네트워크 게임 엔진은 현재 유니티에서 가장 많이 사용하는 엔진 중 하나다.
또한 포톤 PUN(Photon Unity NetWorking)의 경우 20명의 동시 접속 사용자(CCU, ConcurrentUser)까지는 무료로 사용할 수 있다.
포톤 관련 제품은 다양하지만 크게 포톤 서버와 포톤 PUN으로 분류할 수 있다.
포톤 PUN은 포톤 클라우드와 동일하며, 이름만 포톤 PUN으로 바뀌었다.
포톤서버? 포톤 클라우드?
포톤 서버 : 물리적으로 서버를 운영하는 것.
포톤 클라우드 : 서버를 임대해 사용하는 것.
포톤 서버를 운영하려면 서버의 보안, 로드 밸런싱, 백업 및 네트워크 트래픽을 관리할 수 있는 전문 인력이 필요하다.
하지만, 포톤 클라우드는 이러한 문제를 전혀 신경쓰지 않아도 된다.
SaaS(Software as a Service)의 개념으로 소프트웨어를 임대해 사용하는 방식이다.
|
포톤 서버 |
포톤 클라우드 |
서버 운영 및 관리 |
필요 |
불필요 |
확장성(로드밸런싱) |
직접 관리 |
관리 없음 |
서버 사이드 게임 로직 |
커스터마이징 가능 |
불가능 |
라이선스 |
서버당 과금 체계 |
동시 접속 사용자별 과금 체계 |
※ 포톤 서버와 클라우드 비교
포톤 쿨라우드 서버스를 이용하려면 먼저 회원가입을 해야한다.
www.photonengine.com에 접속한 후 신규 가입 메뉴를 선택하면 회원가입 페이지가 나온다.
'Unity3D > NetWork' 카테고리의 다른 글
네트워크 (NetWork) (0) | 2017.05.08 |
---|