전체 글

"어른이면서 애이기도 하고 싶다."
http://phaser.io/tutorials/making-your-first-phaser-game 을 번역한 글입니다. Part 1 - Introductionpart1.html을 열어보면 다음과 같은 획일화 된 Phaser를 포함한 HTML 구조가 보인다. var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update }); function preload() {} function create() {} function update() {} 1 line은 Pahser.Game 오브젝트의 인스턴스를 생성하여 game 변수에 할당함으로서 Pahaser life를 만듭니다. 첫 번째와 ..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 2개 띄우기 터미널에서 간단하게 open -na unity 입력해주세요. 자 2개의 유니티 프로젝트가 실행됬습니다.
· Basic/C#
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 이론 이전에 JAVA에서의 Static에 대해서 다뤘었습니다. C#도 같은 방식으로 통하니 Static에 대해 잘 모르신다면 먼저 보고 와주세요. 그럼 Static으로 어떻게 클래스 인스턴스를 의도적으로 한 개만 만들게 할 수 있을까요? 바로 생성자를 private로 선언하여 외부에서 new로 생성하지 못하게 하는 것 입니다. 실행코드 class Car { static public Car bumblebee = new Car("범블비"); // public 정적 필드 string _model; private Car(String model) { _model = model; } public void InformModel() { Console.WriteL..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 유니티로 게임을 만든다면 맨 처음 화면에 유니티 로고가 스플래시 스크린으로 뜨는 것을 볼 수 있습니다. 개인 창작물이라면 괜찮겠지만, 사업이나, 기업용 게임이라면 이를 자사의 로고나 애니메이션을 보여줘야되겠죠. Pro, Plus Edition 사용자에게도 유용하지만 Personal Edition 사용자도 로고를 띄워야한다는 제약을 감수하여 사용할 수 있으니 잘 봐주시기 바랍니다. 1. 스플래시 스크린(Splash Screen)2. 제약사항(License Limitation)3. 5.5 버전 변경사항4. 세팅 스플래시 스크린(Splash Screen) 유니티 에디터는 프로젝트의 스플래시 스크린을 환경설정하도록 허락합니다. 커스터마이징 할 수 있..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 이번 장은 빌드한 에셋번들을 서버로부터 다운로드하고 로드, 언로드 하는 방법에 대해서 배워보도록 하겠습니다. 빌드과정에 대한 이해를 바탕으로 하고 있으니 이전 두 장을 읽고 와주시길 바랍니다.1. 에셋번들이란?2. 에셋번들의 생성 및 빌드3. 에셋번들 다운로드와 로드 캐싱에셋번들 다운로드에는 캐싱, 논캐싱 2가지 방법이 있습니다. 그럼 캐싱이란 무엇일까요? 이미 출시한 게임에 새로운 컨텐츠를 제공할 때 제공하는 DLC(Downlodable Contents)를 구현하거나, 대규모 게임에서 자주 업데이트가 발생할 경우 실행 파일과 에셋번들을 조합해 사용하는데 이 때마다 새롭게 네트워크에서 다운 받으면 네트워크의 속도 저하가 발생할 것 입니다. 그..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 자 이제 에셋번들에 대해서 알고들 오신거죠? 모르신다면 다시 1장으로 가서 허접한 개념잡기를 보고와주세요. 이번에는 에셋번들을 생성하고, 에셋번들에 원하는 에셋을 넣어서 빌드하는 과정을 배워보도록 하겠습니다. 1. 에셋번들이란?2. 에셋번들의 생성 및 빌드3. 에셋번들 다운로드, 로딩 에셋번들 생성 저번 장에서 에셋번들에는 에셋들이 들어간다고 했습니다. 여기에는 에셋을 담고 있는 폴더나, 스크립트, 머터리얼, 사운드, 이미지 등등 프로젝트 뷰에 있는 모든 것이 가능하죠. 그럼 간단하게 3개의 큐브를 만들어보도록 하겠습니다. 3개의 큐브는 각각의 머터리얼이 적용되어있습니다. (어려우시면 댓글로 요청해주세요.) 이를 프로젝트뷰의 Prefab 폴더..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 자원을 뜻하는 Asset, 묶음을 뜻하는 Bundle이 합쳐져서 만들어진 에셋번들(AssetBundle). 처음 들어보신 분들이 많을 것이라고 생각합니다. 물론 저도 몰랐습니다. 모르는 사람이 알면서 알려주는 에셋번들 사용하기입니다.1. 에셋번들이란?2. 에셋번들의 생성 및 빌드3. 에셋번들 다운로드, 로딩 에셋번들이 뭡니까? 에셋번들이란 이름 그대로 에셋의 묶음입니다. 유니티의 에셋(프로젝트 뷰에 보이는 모든 것들을 에셋으로 취급할 수 있습니다. :프리팹, 이미지, 사운드, 텍스트, 스크립트, 폴더)들을 모아 하나의 묶음으로 만드는 것이죠. 에셋 번들의 일반적인 작업 흐름은 아래와 같습니다. 1. 개발자는 먼저 에디터 내의 씬에 있는 에셋으..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 C#의 2차원 배열의 메모리 구조를 확인하기 위해 변수의 주소값을 찍어보려다 Unsafe code requires the `unsafe' command line option to be specified 에러가 떴습니다. 이를 어떻게 해결해야 하는지와 변수의 주소 값을 찍는 방법 두 가지를 다뤄보도록 하겠습니다. 1. 예제코드2. 유니티에서 unsafe 코드를 사용하는 방법3. C#의 메모리 구조 예제코드 using UnityEngine; using System.Collections; using System; using System.Collections.Generic; using System.Text; public class NewBehavio..
본문의 내용을 토대로 이해한 것을 다시 작성 및 번역한 것입니다. 업데이트 패턴 1 의도 배열을 돌면서 객체 별로 한 프레임 단위의 일을 시키기 위함 2 동기 플레이어가 던전에 들어가 적들에게 다가갔다. 공격 받..지 않았다. 매 프레임마다 어떤 활동을 부여하지 않았기 때문입니다. 적을 좌, 우로 움직이는 간단한 코드를 보겠습니다. 1234567891011121314while (true){ // Patrol right. for (double x = 0; x 0; x--) { skeleton.setX(x); }} 위의 코드는 while문을 한 번 돌 때를 한 프레임이라고 치면 한 프레임에 좌, 우로 100번씩 200번을 움직이게 됩니다. 우리는 해골이 매 프레임 움직이며 유저 입력에 바로 바로 대응할 수 ..
· Basic/C++
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 게임 프로그래밍 패턴 중 프로토타입패턴(정리해서 올려드리겠습니다. 불친절해서 죄송합니다.)을 공부하다 깊은 복사, 얕은 복사에 대한 개념이 부실하게 나와서 정리할 겸 글을 쓰게 됬습니다. 저한테는 생소한 개념이었던 C++에서의 복사 생성자, 얕은 복사와 깊은 복사에 대해서 알아보도록 하겠습니다. 1. 생성자2. 소멸자3. 복사 생성자4. 얕은 복사5. 깊은 복사 생성자 먼저 생성자가 없이 클래스를 초기화하는 방법을 아래의 코드를 예시로 보도록 하겠습니다. 간단하게 클래스 내의 private로 선언된 멤버변수들을 SetInfo() 메소드로 초기화를 하고 GetInfo() 메소드로 정보를 가져오는 것을 보실 수 있습니다. #include usin..
에반황
에반, 어른반