[개발일지] 7. 현재까지 구현한 기능 정리
·
유니티 프로젝트/케이크게임
전에 공부용으로 만들었던 코드들을 본격적으로 다시 만들었다. 그래서 현재까지 개발한 사항을 여기에 새로 작성하려고 한다. 전에 코드랑 달라진 부분이 많아서 이제 이 코드를 기준으로 앞으로의 게시물을 작성할 것이다. [주요 기능 설명] 파트는 [현재 프로젝트 클래스 종류] 파트 밑부분에 있다. [구현한 기능]농사 가능 구역만 농사 가능하도록 하는 기능밭 갈기, 씨앗 심기, 과일 수확하기각 밭(타일) 마다 밭 갈기, 씨앗 심기, 과일 수확하기 버튼 동적 생성버튼 누를 때 뒤에 있는 타일을 안 눌리도록 하는 기능씨앗이 심어진 밭(타일) 클릭하면 다 자라기까지 남은 시간 뜨도록 하는 기능씨앗 구매창(이제 게임 매니저랑 연결해서 로직 더 작성해야함.) [현재 프로젝트 클래스 종류]FarmingManager: 농사..
[개발일지] 6. 주석 깨짐 현상 해결하기
·
유니티 프로젝트/케이크게임
[문제상황]내가 작성한 주석이 다른 팀원들한테 깨져서 보이는 상황.. [해결방법] 일단 아래 내용에서 하는 것처럼 Editorconfig 를 생성했다. https://drehzr.tistory.com/2045 문제해결)Visual Studio (EditorConfig) 생성 메뉴가 없는 경우Visual Studio (EditorConfig) 생성 메뉴가 없는 경우 추가하려고해도 EditorConfig가 없는 경우가 있다. 그런 경우에 editorconfig 파일을 생성하는 방법을 간략하게 포스팅 한다. (VisualStudio 2022, Window 환경) drehzr.tistory.com  아래 노션을 보면서 따라했다. Editorconfig 파일 안에 editor configuration 변경으로, ..
[개발일지] 5. 버튼 눌렀을 때 뒤에 있는 타일(게임 오브젝트)은 안 눌리도록 하는 방법
·
유니티 프로젝트/케이크게임
[원하는 기능]버튼을 눌렀을때 뒤에 있는 타일 안 눌리도록 하는 기능  [공부한 내용]  유니티에서 UI 요소가 클릭되었을 때, 뒤에 있는 타일이 클릭되지 않도록 하려면 GraphicRaycaster와 EventSystem이 올바르게 설정되어 있는지 확인해야 한다. Canvas 설정 확인Canvas 오브젝트가 있는지 확인한다. Canvas 오브젝트는 UI 요소들이 포함되어야 한다.Canvas 오브젝트에 GraphicRaycaster 컴포넌트가 추가되어 있는지 확인한다(기본적으로 포함되어 있다).Canvas 의 Render Mode 가 Screen Space - Overlay 또는 Screen Space - Camera 로 설정되어 있는지 확인한다. EventSystem 설정확인EventSystem 오브젝..
[개발일지] 4. 씨앗 심기 & 수확하기 (+ 수확하기 버튼)
·
유니티 프로젝트/케이크게임
[원하는 기능]갈린 밭에 씨앗 심기다 자란 과일 수확하기수확하기 버튼으로 수확하기 [관련클래스]Fruit: 과일 클래스. 멤버 변수로 과일 이름, 과일 가격, 게임 상에서 활성화 기준을 결정하는 flag 변수(isEnabled) Seed: 씨앗 클래스. 멤버 변수로 씨앗 이름, 성장시간, 시작시간(씨앗이 밭에 심어진 후부터 증가), 씨앗 가격, 게임 상에서 활성화 기준을 결정하는 flag 변수(isEnabled)FruitContainer: 과일 게임 오브젝트를 생성하고 저장해놓는 클래스SeedContainer: 씨앗 게임오브젝트를 생성하고 저장해놓는 클래스 FarmController: 전반적인 농장 기능을 수행하도록 하는 클래스   [코드]Fruit과일은 다 자란 작물의 수확하기 버튼을 눌러서 얻을 수 ..
[개발일지] 3. 경계 내부 구간만 타일 변경
·
유니티 프로젝트/케이크게임
[원하는 기능]농사 가능 구역만 타일을 바꿀 수 있도록 하는 기능 [관련함수]ScreenToWorldPoint(Vector): 벡터를 받아서 게임상 좌표로 변환하는 함수WorldToCell(Vector): 벡터를 받아서 타일맵의 셀 좌표로 변환하는 함수HasTile(Vector): 벡터를 받아서 그 위치에 타일이 존재하는지 확인하는 함수SetTile(Vector, Tile): 벡터와 타일을 받아서, 그 위치에 타일을 생성하는 함수  [코드]using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEditor.U2D.Aseprite;using UnityEngine;using UnityEngi..
[개발일지] 0. 2D 아이소메트릭
·
유니티 프로젝트/케이크게임
[원하는 기능]2D 아이소메트릭 타일맵 만들기 [참고자료] https://yangjae.tistory.com/58 [프로토타입 1단계] isometric 타일 좌표 찍어서 위치 이동시키기타일의 transform을 이용한 위치 이동시키기 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210yangjae.tistory.com https://codebakemono.tistory.com/1 아이소 메트릭 타일(..
[개발일지] 2. 마우스 클릭 타일 생성
·
유니티 프로젝트/케이크게임
[원하는 기능]마우스로 클릭한 곳에 새 타일이 생성되는 기능 [관련함수]tileMap 의 SetTile 함수 (타일이 생성될 위치와 타일을 매개변수로 넘겨주면 된다.)타일이 생성될 위치는 마우스 입력을 게임 월드 위치로 바꾼 값을 다시 최종적으로 타일맵의 셀 위치로 바꾼 값이다.ScreenToWorldPoint 함수 -> WorldToCell 함수를 써서 위치를 변환하는 과정이 필요하다. [코드]using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEditor.U2D.Aseprite;using UnityEngine;using UnityEngine.EventSystems;using Uni..
[개발일지] 1. 아이소메트릭 타일맵 셀 요소 가져오기
·
유니티 프로젝트/케이크게임
[원하는 기능]마우스로 타일맵을 클릭했을 때 게임 월드상의 타일 위치를 반환하는 기능 [관련함수]screenToWorldPoint(Input.mousePosition): 마우스의 위치를 받아서 게임 월드 좌표로 반환하는 함수.WorldToCell(Vector2 || Vector3): 벡터 위치(여기에는 마우스의 게임 월드 좌표를 넘겨줄 것) 를 받아서 타일맵의 셀위치를 반환하는 함수. [코드]맨 처음 코드: 실패using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEditor.U2D.Aseprite;using UnityEngine;using UnityEngine.EventSystems;..