분류 전체보기 202

(2) 기본 시스템 개발 - 2 (핸드플레이 버튼,엔티,라운드,핸드와 버리기 사용제한, 애니메이션 최적화(DOTween))

이번글에서는 핸드플레이 버튼 기능을 만들어보려고 한다  물론 그와 함께 점수를 계산하고 저장하는 기능도 연계하여 만들 예정이다 그전에 카드를 플레이했을때 카드 위로 각각 숫자에 맞는 점수가 활성화 되었다가 사라지는 기능부터 구현해보자2~10까지는 각 숫자에 맞게 점수가 부여되고 JQK는 10점, A는 11점을 부여받는다 그럴려면 카드 위에 각자의 숫자에 맞게 점수가 올라와야 하는데 이걸 하려면 카드의 프리팹 구조를 수정해야 한다우선 카드 프리팹의 밑으로 캔버스와 텍스트 파일인 PointText를 만들어주었다당연히 텍스트는 캔버스 요소이므로 캔버스가 위에 필요하고  각각 캔버스와 PointText의 Inspector창이다우선 캔버스를 보면 Render Mode - World Space로 되어 있는데 이게 ..

Canvas RenderMode 정리

늘 유니티를 하며 헷갈렸던 부분 중 하나. 게임 오브젝트는 인게임 요소고, 텍스트는 캔버스 요소라 둘은 완전 다른 위치에 있는데,만약 텍스트를 게임 오브젝트 요소처럼 쓰고 싶다면 어떻게 해야할까?  결론부터 말하면 Canvas의 Render Mode를 - World Space로 변형해주면 된다그럼 도대체 이 World Space모드가 무엇이고, 다른 모드는 무엇이 있는지 정리해보도록 하자 더보기🔹 1. Screen Space - Overlay (기본값)📌 UI가 항상 화면의 맨 위에 그려지는 모드카메라에 상관없이 화면 픽셀 좌표에 고정가장 성능이 좋음 (UI 전용 렌더링 패스 X)멀티캠 지원 X (항상 게임 화면 위에 고정)🔹 특징✅ UI가 항상 화면 크기에 맞게 유지됨✅ 카메라 거리와 상관없이 항..

객체지향 프로그래밍, 클래스, 생성자, 정적필드(static), this 키워드

클래스를 이야기하려면 먼저 객체지향 프로그래밍이라는것을 먼저 알아야한다사실 예전에도 객체지향에 대해 정리해둔 글이 있다   클래스와 오브젝트는 객체지향의 핵심이다.객체지향은 '사람이 현실 세상을 보는 방식'에 가깝게 프로그램을 완성하는것'이다 클래스 : 표현하고 싶은 대상을 추상화하여 대상과 관련된 변수와 메서드를 정의하는 틀이다(추상화 : 대상의 핵심적인 개념과 기능을 추려내는것) 오브젝트 : 물건의 설계도인 클래스와 달리 그 설계도로 만들어낸 실제 존재하는 물건(실체)이다  그림을 보면 더 이해가 쉬울 것이다 Human이라는 설계도(클래스)를 이용해철수와 영희라는 사람(오브젝트)를 만들어내는 원리인 것이다.  마치 전세계에게 몇십억의 인구가 있지만 모두 '인간'으로 분류되듯 아무리 많은 오브젝트들이라..

Notion

한창 졸업작품 준비로 바쁠때, 처음으로 다른 조원들과 호흡을 맞춰야하기 때문에 1인개발때는 사용하지 않았던개발 협업툴을 사용할 때가 되었다. 가장 많이 추천하는것은 이렇게 3가지로,주로 게임회사에서는 지라를 많이 사용한다고 하지만 대규모 개발에 어울리며 입문용으로는 조금 어렵다고 한다.. 그래서 이런 소규모 게임개발에는 노션+트렐로를 주로 추천하지만 우리는 노션을 최종적으로 사용하기로 했다 그래서 간단하게 노션의 사용방법을 적어보도록 하겠다.    우선 노션에 들어갔을때 가장 먼저 보게 될 화면이다. 제일 우선은 같이 노션을 사용할 팀원들을 초대해주자    설정 > 사람 > 멤버추가에 메일계정을 넣어 추가할 수 있다.   +새로추가를 누른뒤 나에게 필요한 옵션을 추가해주면 된다.나는 게임개발에 적합한 프..

(1) 기본 시스템 개발 - 1 (카드관리, 카드 움직임, 핸드족보, 버리기버튼)

가장 먼저 해야할 것은 게임의 기본 베이스가 될 시스템을 개발하는것이다갤럭시볼을 만들땐 이것저것 완전 처음부터 시작했겠지만 이번엔 조금 더 진도를 팍팍 나가보겠다사실 개발이 어느정도 진행된 시점에서 이 글을 쓰는것도 있다..  내가 지금까지 만든 게임 화면이다. 하나씩 하나씩 보며 짚어가보도록 하겠다 예전엔 코드를 전부 붙여가면서 설명했었는데 지금은 코드가 굉장히 길어진 관계로 기록용 느낌으로간략하게 설명하고 넘어가겠다우선 52장이나 되는 카드를 관리하는법부터 알아보자 우선 카드에 쓰일 이미지 52장을 리소스 폴더에 넣어주었다  이미지 스프라이트 분리 방법이런 사진이 한장 있다고 치자. 52장의 카드들이 한장의 이미지안에 들어있다  Sprite Editor로 일정하게 잘라내기까지는 끝냈는데..  문제는 ..

이미지 스프라이트 분리 방법

이런 사진이 한장 있다고 치자. 52장의 카드들이 한장의 이미지안에 들어있다  Sprite Editor로 일정하게 잘라내기까지는 끝냈는데..  문제는 이 잘린 스프라이트들을 어떻게 하면 각각 하나의 이미지로 구별할 수 있을까?하나씩 드래그하여 프리팹으로 만들수도 없는 노릇이고..막막할 수 있지만 이럴땐 좋은 방법이 있다 그대로 따라하기만 하면 손쉽게 자른 이미지들을 하나씩 보관할 수 있다  1. 우선 에셋에 Editor라는 이름으로 폴더를 하나 만든다  2. 아래 코드를 그대로 복사하여 스크립트를 하나 만든뒤 Editor 폴더 안에 넣어준다 using UnityEngine;using UnityEditor;using System.IO;public class SpriteExporter : MonoBehavi..

(1) 게임 소개

대학 졸업과제를 시작하면서 한번 더 게임을 만들게 되었다이번에는 1인개발이 아니라 조원을 둘 구해 셋이서 팀 개발을 해볼것이다.  전에 만든 Galaxy Ball은 아예 모든걸 처음부터 기획하여 시작했다면 이번에는 기존에 있던 게임을 참고할 예정이다  바로 내가 굉장히 재밌게 플레이했고, 지금도 재밌게 하는중인 "Balatro"라는 게임을 참고할 생각이다사실 참고라고 하기엔 디테일한 부분들을 제외하면 발라트로가 사용중인포커 게임의 룰, 시스템을 그대로 가져올 예정이다 이렇게 하면 게임 기획, 밸런스 조절에 대해서 회의하고 토론하는 시간을 대폭 절약할 수 있다그리고 기존에 있던 시스템을 참고하는거라 그 외적인 부분들에도 굉장히 시간을 아낄 수 있다 그럼 왜 하필 많고 많은 게임들 중 포커 게임의 시스템을 ..

메서드, 매개변수, 반환 타입, return문, 참조에 의한 전달&반환, ref/out 키워드, 메서드 오버로딩, 명명된 인수, 선택적 인수, 로컬 함수

#2 유니티 엔진 동작 원리 (클래스,메서드,상속,컴포넌트, 브로드캐스팅, MonoBehavior)이번글에서는 유니티에서 엔진이 동작하는, 정확히는 게임 속 모든 오브젝트들이 움직이는원리에 대해서 알아보려고 한다 그전에, 이미 다른글에도 정리되어 있지만 가장 기본이며 가장 많이sangeun00.tistory.com  #3 C# 프로그래밍 (메서드, 간단한 코딩예시, 클래스,인스턴스,접근제한자,참조타입)이번에 해볼것은 바로 유니티에서 쓰이는 C# 프로그래밍이다하지만 지금 이 글을 쓰고 있는 시점과 비슷하게 이미 나는 C# 공부를 따로 하고 있고  CLR, 변수, 스택과 힙, 데이터 형식, 박싱&언박sangeun00.tistory.com 이미 메서드에 대해서는 질리도록 다뤘기 때문에 정말 마지막으로 짚고 넘..

#3 C# 프로그래밍 (메서드, 간단한 코딩예시, 클래스,인스턴스,접근제한자,참조타입)

이번에 해볼것은 바로 유니티에서 쓰이는 C# 프로그래밍이다하지만 지금 이 글을 쓰고 있는 시점과 비슷하게 이미 나는 C# 공부를 따로 하고 있고  CLR, 변수, 스택과 힙, 데이터 형식, 박싱&언박싱, 형식 변환글을 시작하기 전에 별로 중요하지 않다 생각하고 넘긴 CLR에 대해서 알아보겠다 CLR(Common Language Runtime) : C#으로 만든 프로그램이 실행되는 환경C#뿐만 아니라  LS 규격을 따르는 모든 언어로 작sangeun00.tistory.com C# 공부용 글까지 적고 있기에 겹치는 부분들은 빼고 새로운 부분만 적어보도록 하겠다   이미 여러번 다뤘지만 프로그래밍에서 함수(메서드)는 미리 정해진 동작을 수행하는 코드 묶음 이다따라서 어떤 처리를 미리 함수로 만들어두면 다시 반..

연산자(증가/감소연산자, 조건연산자), 반복문, 점프문

코드의 가장 기초라고 볼 수 있는 연산자. 어디까지나 이건 내 공부용 일지이기 때문에모든 기능을 전부 들여다 볼 생각은 없고 너무 당연하거나 굳이 이후에 찾아보지 않을것 같은 기능은 생략하겠다  평소 조금 헷갈리던 부분이었다우리가 흔히 보던 a++, ++a, --a, a-- 기능들이 전부 증가/감소 연산자이다하지만 여기서 헷갈리는건 바로 연산자를 변수의 앞에 사용하느냐 뒤에 사용하느냐인데  뒤에 사용하면 문장의 실행이 끝난 후 변수의 값이 변경되며앞에 사용하면 변수의 값이 변경된뒤 문장의 실행이 끝나게 된다 세번째 줄이 가장 중요하다. 값이 12인 상태에서 a--가 되었지만 Console.WriteLine을 실행한뒤에 변수의 값이 빠지기에 여전히 12로 출력된 뒤에 값에 변화가 오게 된다  알아두면 굉장..

반응형