유니티(28)
-
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 31일차(코드카타와 레이어 비트연산 )
코드카타 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 - arr은 자연수를 담은 배열입니다. - 정수 i, j에 대해 i ≠ j 이면 arr\[i\] ≠ arr\[j\] 입니다. - divisor는 자연수입니다. - array는 길이 1 이상인 배열입니다. 입출력 예 arrdivisorreturn입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 \[5, 10\]을 리턴합니다. 입출력 예#2 arr의 모든 원소는 1으로 나누어 떨어집니다. 원..
2023.12.11 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 30일차(ScriptableObject 메뉴 만들기 신박한 [Range] )
ScriptableObject ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. ScriptableObject의 주요 사용 사례 중 하나는 값의 사본이 생성되는 것을 방지하여 프로젝트의 메모리 사용을 줄이는 것입니다. 이는 연결된 MonoBehaviour 스크립트에 변경되지 않는 데이터를 저장하는 프리팹이 있는 프로젝트의 경우 유용합니다. 이러한 프리팹을 인스턴스화할 때마다 해당 데이터의 자체 사본이 생성됩니다. 이러한 방법을 사용하여 중복 데이터를 저장하는 대신 ScriptableObject를 이용하여 데이터를 저장한 후 모든 프리팹의 레퍼런스를 통해 액세스할 수 있습니다. 즉, 메모리에 데이터 사본을 하나만 저장합니다. Mo..
2023.12.08 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 28일차(버그 수정)
원래는 저것이 체크 되어있었는데 그렇게 되면 RunMonster 의 애니매이션이 끝나야지만 데드가 실행되었는데 저것을 해제하니까 데드가 바로 실행되었다. 여기서 스케일과 로테이션를 조정한 것은 풀 매니저에서 몬스터를 불러올 때 죽었던 몬스터의 애니매이션 스케일 효과가 남아있기 때문이다. 여기서 보스몬스터의 크기는 스케일 10이 되어야 하는데 이 메서드에선 IsBoss를 사용해서 스케일을 바꿀수 없다 ! 보스면 게임 오번대? 어떻게 하지.. 고민하다가 .어디 클래스에서 이것을 변경시켜야하지? 새로운 보스몬스터 프리펩을 만들어야하나? 싶었는데 화장실을 다녀오니 간단하게 해결할 문제였다. 그냥 매번 보스인지 확인하고 맞으면 스케일을 바꿔버리는것. 잠깐의 휴식이 뇌를 활성화 시킨걸까. 하하 오늘은 여기까지다.!
2023.12.07 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 27일차(팀 프로젝트)
오늘은 til을 길게 작성할 정신도 힘도 없다.. 몬스터 구현은 거의 다 마무리되었다. 몬스터의 데미지, 피격, 공격 등등 이제 마무리 단계다. 보스몬스터도 만들었고 보스몬스터를 처치하면 스테이지를 넘어갈 수 있다. 보스몬스터가 소환되면 더이상 몬스터가 소환되지 않도록 하였고 보스몬스터는 일정시간 이상 지나야 나타난다. 우리 게임도 거의 완성되는 단계다 ui와 스토리 부분만 더 추가하면 될 것같다.
2023.12.05 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 26일차(풀매니저와 스폰 )
몬스터를 많이 생성하고 싶다거나 플레이어 주변에 생성하고 싶을때 사용한다. PoolManager using System.Collections; using System.Collections.Generic; using UnityEngine; public class PoolManager : MonoBehaviour { // 미리 준비된 게임 오브젝트를 저장하는 변수 public GameObject[] prefabs; // 풀을 관리하는 리스트 List[] pools; private void Awake() { pools = new List[prefabs.Length]; // 풀 초기화 for (int i = 0; i < pools.Length; i++) { pools[i] = new List(); } } pub..
2023.12.04 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 24일차(팀과제 시작 그리고 고통의 깃허브)
오늘은 팀과제를 시작했다. 개인과제는 많은 공을 들이지 않았지만 팀과제 만큼은 아주 열정적으로 만들 생가이다, 과제 개요 이번 프로젝트에서는 몇몇 추억의 게임들을 선택하여 그들을 현대적인 버전으로 재현해볼 것입니다. 게임 개발의 기초를 학습한 후, 그 핵심 요소 중 하나인 "충돌 처리"에 중점을 두고 진행됩니다. 프로젝트의 선택 구현 사항에서는 게임의 다양한 측면을 향상시키는 데 도움이 되는 기능들을 추가할 것입니다. 이런 과정을 통해 게임 개발의 창의성을 경험하고, 새로운 스킬을 습득할 수 있습니다. 이제, "똥피하기", "닷지 게임", 그리고 "벽돌깨기" 게임의 개발에 도전해봅시다! 세 가지 게임 중 하나를 선택해주세요! 우리 조는 닷지게임을 선택했는데 닷지게임은 탄막을 피하는 게임? 이라고 생각하면..
2023.12.01