목록전체 글 (52)
게임 프로그래밍
우선 CSV 파일이 먼지 알아보자. 간단하게 말해서 , 로 구분 되는 데이터이다. XML, JSON 등 여러 데이터 저장 포맷이 있는데 csv를 쓰는 이유는 간단하기 때문일것이다. 하지만 간단하기 때문에 문제도 조금 있다. 일단 데이터 오염에 취약하다. 데이터를 그저 ,로 구분 하기 때문이다. 그리고 데이터에 ,를 넣기가 난감하다. 일단 알아볼것은 C#으로 csv파일을 어떻게 만들수 있느냐 이다. 사실 엄청 간단하다. 1 2 3 4 5 6 7 8 9 10 using (StreamWriter wr = new StreamWriter("path")) { wr.WriteLine("#TYPE,MoveSpeed"); foreach (var data in datalist) { wr.WriteLine("{0},{1}"..
유니티에서 GetComponent를 이용하면 Object에 들어있는 Component를 넣을 수 있다. 데코레이터 패턴을 쓰면서 IGun이라는 동일한 애들이 여러개 붙어 있으면 어떻게 될지 궁금해서 확인을 해봤다. 1. GetComponent를 하면 인스펙터상에서 가장 위에 있는 스크립트가 불러와진다. 2. GetComponents를 하면 위에서 부터 차례되로 불러와진다. 사실 너무 당연한 결과이긴하다. 그래도 이런 상황이 있을때 한번 확인해야하는 작업이긴 한것같다.
마지막으로 글 올린지 2주가 지났다. 빨리 빨리 올릴려고 했는데 귀찮아서 결국 늦어짐.. 그 동안 또 많은것들을 개발했다.
이번 게임제작에서 팀원들한테 게임을 배포할때 디스코드를 이용하고 있다. 다운로드 같은 경우에는 구글 드라이브 주소를 올려주고 있었는데, 아무래도 이것보다는 바로 다운로드가 가능한 링크를 주는게 더 편할 것 같아서 DropBox API를 이용해서 파일을 업로드하고 공유 링크를 가지고 오는 것을 간단하게 만들었다. https://www.dropbox.com/developers Developers HelloSign, now part of the Dropbox family, is an easy to use eSignature platform that can be implemented into your application. Click here to get started with the HelloSign eSig..
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 using System.Collections; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; /// /// Snap a scroll rect..
올릴때 마다 뭔가 다른 게임같이 심하게 바뀌는것 같다. 개발 일지 올리는 주기를 좀 줄여야할것 같다. 그전까지는 인게임만 구성하고 있었는데 이번에는 간단하게 로비를 만들었다. 만들면서 데이터 저장하는 부분에서 제일 신경을 많이 쓴것 같다.. 인게임에서도 많이 변했다. 이제 조금씩 임시 리소스들을 삭제하고 직접 만든 리소스를 넣어가는중. 친구가 도트 열심히 그리는중. 물론 나도 열심히 도트 찍는중이다. 내가 찍은 도트들. 그림은 못그리지만 도트는 찍을 수 있을것 같다. 나름 재밌다.
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; using System.Reflection; using System; public class SerializeObject { public static void Serialize(Object dictionary, Stream stream) { try // try to serialize the collection to a file { using (stream) { // create..
싱글턴은 오직 한개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공한다.(Gof의 디자인 패턴) 사실 싱글턴은 가장 쉽게 남용되는 디자인 패턴일 것이다. 우선 싱글턴 패턴에 대해서 알아보자. 1. 오직 한 개의 클래스 인스턴스만 갖도록 보장 인스턴스가 여러 개면 제대로 작동하지 않는 상황이 종종 있다. 간단하게 파일 시스템을 예로 들자면 파일 작업은 완료하는데 시간이 걸리기 때문에 비동기로 동작하게 되어야 한다. 쉽게 생각해서 한쪽에서는 파일을 생성하고 있는데 다른쪽에서 삭제가 이루어지고 있다면 문제가 있을 것이다. 이러한 상황은 싱글턴으로 만들면 클래스가 인스턴스를 하나만 가지도록 컴파일 단계에서 강제할수 있어 방지 할수있다. 2. 전역 접근점을 제공 싱글턴 패턴은 모든곳에서 ..