목록Programing (92)
Prosto
'WHILE - 까지.. 일정 조건이 만족할 때까진 반복!' 프로그래밍에서 while문은 반복문의 가장 기본입니다.일정한 조건이 만족하는 동안 계속 반복하는 함수죠.for문을 가장 많이 사용하지만 기본 형태이기에 알아두어야겠죠?(while문도 경우에 따라 자주 이용하기도 합니다.) 게임으로 예를 들면, 어느 게임에서 독에 맞으면 1초에 체력을 5씩 감소한다고 해봅니다.그렇다면 플레이어가 독에 걸려서 체력이 1이상이라면 체력이 일정시간 동안은계속 닳아야겠죠?이런 경우 while문을 이용하면 수월하게 반복 작업을 처리해줄 수 있습니다. 즉, 특정 조건에 만족하는경우 반복된다면 이러한 처리를 해라. 라고 만들 수 있는 것이 while문 입니다.(while문은 반복문의 기본이니 while문으로도 for문은..
'파일 입출력 - 파일을 생성하고 쓰고, 읽을 수 있는 방법!' 프로그래밍을 하다보면 파일을 만들어서 데이터를 보관하는 경우도 있고, 어떤 데이터가 저장된 파일을 읽어와 사용하는 경우도 있습니다. (C언어에서) 이때 사용하는 것이 바로 파일 입출력입니다. 게임으로 예를 들어 싱글플레이 게임이 있는데 사용자가 저장 버튼을 눌러 게임에서 사용되는 레벨, 경험치, 금화, 아이템 등을 저장해야 할 때가 있겠죠? 이때 저장 방법 중 대표적인 방법이 data 파일을 만들어 저장하는 방법이죠. 우리는 이번에 파일 입출력을 이용하여 몇 가지 정보들을 저장해보기도 하고, 실제로 문제도 풀어보며 파일 입출력을 익혀볼 수 있도록 하겠습니다. 파일 입출력을 사용하기 위한 가장 기본적인 부분은 처리할 파일을 가리키고 있을 파일..
따라하는 유니티 2D 프로젝트 강좌 다섯 번째 시간입니다. 이번에 다룰 내용은 스코어 부분입니다. 점수를 추가하여 현재 얻는 점수가 몇인지 표시하는 방법을 소개할 것입니다. 또, 점수를 표시할 때 단순하게 점수가 한번에 바뀌는 방법과 Lerp라는 기능을 이용하여 점수가 단계적으로 상승하는(카운팅) 방법을 해보도록 하겠습니다. 아직 점수 부분의 전부를 하지는 못 했지만, 가장 기본이 되는 부분을 구성하는 것이라 생각하시면 됩니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. Hierarchy 패널에서 우측버튼을 클릭하여 UI - Canvas를 선택하여 생성해줍니다. (Canvas가 생성된 모습입니다. 밑에 EventSystem도 함..
유니티를 이용하여 스마트폰 게임을 만들고 있을 때 간혹 프레임이 떨어지는 현상(프레임 드랍)을 목격한 적이 있었습니다. 게임 진행 중 한번씩 그러니 거슬리더군요. 그래서 왜 그이러는 것일까 하고 처음엔 제대로 확인하기 위하여 게임 화면에 프레임을 출력시키는 소스를 작성했습니다. (현재 예상프레임과 최악일 때의 프레임 표시.) (아래가 제가 만들어서 썼던 소스입니다.) using UnityEngine; using System.Collections; public class FrameChecker : MonoBehaviour { float deltaTime = 0.0f; GUIStyle style; Rect rect; float msec; float fps; float worstFps=100f; string ..
따라하는 유니티 2D 프로젝트 강좌 네 번째 시간입니다. 이번에 다룰 내용은 저번에 구현했던 배경이동에 이어 장애물을 업그레이드(강화)하는 작업을 하겠습니다. 지금 그대로라면 게임이 너무 단순하고 루즈하죠. 이러한 부분을 해결하기 위해서는 플레이어가 집중하며 플레이할 수 있게끔 요소를 배치해줘야 합니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 장애물이 다양한 크기로 등장할 수 있도록 셋팅하는 작업을 먼저 하겠습니다. (이전 프로젝트를 실행한 모습 - 콘솔창은 제가 테스트로 실행을 해봤기에 충돌 문구가 있습니다.) 기존의 스크립트를 변경하기 위하여 Scripts - Map - MoveMap을 더블클릭하여 실행시켜 줍니다. Mo..
'FOR - 위한... 쉬운 반복작업을 위한다면? 배워보자' 프로그래밍에서 FOR문은 if문과 마찬가지로 중요한 역할을 하고 있습니다.같은 혹은 유사한 작업을 할 때 사용되죠. ( 고객 10000명에게 똑같은 처리를 해야한다면? 머리아프겠죠?) 다시 게임으로 예를 들면, 어느 게임에서 이벤트로 플레이어들에게 모두 금화 5000을 준다고 해봅니다.그렇다면 플레이어가 총 5만 명이라면요? 프로그래밍으로 처리하려고 할 때일일이 하나하나 모두에게 주려니까 최소 5만 라인은 작성되어야 할까요?이런 경우 for문과 같은 반복문은 빛을 발하는 것입니다. 즉, 반복되는 경우에는 이러한 똑같은 처리를 해라. 라고 만들 수 있는 것이 for문 입니다. for문의 기본적인 형태를 보면 아래와 같습니다.for(선언 및 초기화..
따라하는 유니티 2D 프로젝트 강좌 세 번째 시간입니다. 이번에 다룰 내용은 저번에 배경이동에 이어 장애물을 구현하고 간단한 점프 기능을 구현하고 충돌체크를 해서 플레이어에게 알리는 처리까지 해보겠습니다. (현재는 점프-장애물 첫 번째 단계입니다. 장애물 업그레이드, 점프 업그레이드를 더욱 고퀄로 바꾸는 작업은 다음 강좌에서 다룰 예정입니다.) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 포토샵을 이용하여 장애물을 만들어줬습니다.(256x256) 저번과 마찬가지로 드래그 앤 드랍하여 유니티 프로젝트에 Image를 추가해 줍니다. Generate Mip Map 체크 해제해주고, Sprite Editor로 들어가 피봇을 바닥에 맞춰줍..
이번에 간단하게 이야기해볼 내용은 C언어나 winAPI에서도 사용되는 Sleep함수입니다. C 공부를 하는 중 한번쯤 만나볼 수 있는 Sleep! 무엇이고, 어떻게 사용할까요? Sleep - (잠을)자다 Sleep함수는 프로그램이 잠깐 잠을 자도록하는 함수입니다. 우리가 보는 입장에서는 지연시키는 함수라고 볼 수 있죠. windows.h를 참조하여 사용할 수 있고, 사용방법은 굉장히 간단합니다. Sleep(시간); 형식으로 사용되죠. 여기서 시간은 밀리초(ms)입니다. [참고로 1000밀리초(ms) = 1초(s)입니다.] 그렇다면 Sleep(1000);이라고 되어있다면? -> 1초간 지연시키는 것이고, Sleep(3500);이라고 되어있다면? -> 3.5초간 지연시키는 것이겠죠? 정말 간단한 예제 소스입..
따라하는 유니티 2D 프로젝트 강좌 두 번째 시간입니다. 이번에 다룰 내용은 저번에 만들었던 캐릭터 이동을 배경이동으로 전환시키고, 오브젝트 풀을 이용하여 정해진 수를 반복 사용하는 방법을 적용하여 해볼 것입니다. (중요 : 프리팹 만들기/사용, Instantiate 오브젝트 생성, 배열과 구조체 사용 ) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. Scripts 하위에 Map이라는 폴더를 생성한 후 MoveMap 스크립트를 추가합니다. MoveMap.cs에 소스를 작성하여 줍니다. 여기에서 Instantiate는 오브젝트 생성에 사용하는 함수입니다. Instantiate(생성할 오브젝트, 생성될 좌표, 각도) 정보를 입력합니다...
C#의 기능 중 코루틴이라는 기능에 대하여 알아보고 실제로 유니티의 C# 스크립트를 이용하여 어떻게 사용하는지 예제를 통하여 확인해보겠습니다. 개념적인 부분을 잡기 위하여 작성한 포스팅으로 이미 작업해두었던 '따라하는 유니티 2D 프로젝트ⓐ -1'에서 이동 부분을 수정하도록 하겠습니다. (실제로 구현해서 확인해보고 싶으시다면 위 프로젝트ⓐ 1번까지 따라하신 후 해보시는 것도 좋을 것 같습니다.) 그럼 먼저 C#의 코루틴이란 어떤 것이고, 어떻게 작동하는지 알아보겠습니다. 먼저 코루틴이란 무엇일까요? 코루틴이라는 것은 어떠한 작업을 처리할 때 필요에 따라 시간 간격을 두고 작업을 처리할 수 있도록 도와주는 함수 형식입니다. 코루틴과 Unity에서의 Update 혹은 FixedUpdate를 비교해본다면 - ..