Galaxy Ball
-
(13) Json으로 알맞는 스테이지창 불러오기Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 29. 02:04
이제 스테이지 선택씬에서 선택한 스테이지 번호에 알맞는 스테이지 정보를 출력하고해당 스테이지를 불러오려 한다 플레이어 공과 스테이지 구체가 닿으면 출력되는 UI인 StageBox이제 충돌이 일어날때 해당 스테이지에 맞춰 저 위의 번호가 바뀌도록 해볼것이다 우선 스테이지는 각자의 이름을 뒤에 붙는 번호로 구분해두었다. 그리고 이걸 이용할 예정이다스테이지 하나마다 태그를 달아줄순 없으니...스테이지의 이름으로 구별하여 StageBox를 출력해보자 우선 플레이어의 공을 담당하는 StageBallController에 chooseStage라는 int 타입 변수를 선언해주자굳이 또 이 코드에 변수를 추가하는 이유는스테이지 구체 하나하나마다 스크립트를 달아주는건 너무나도 비효율적이기 때문 그리고 충돌한 오브젝트의 ..
-
(12) 각종 수정 & 싱글플레이 패배조건 추가Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 23. 17:45
본론에 들어가기 전, 각종 사소한 수정부분을 기술하겠다 가장 먼저 게임을 개발하는 내내 느낀게 있다면 화면이 너무 비좁다는것이다. 만들어놓은 적 유닛만 14개인데 정작 플레이 화면에는 2~3개만 놓아도 꽉 차 보인다 그래서 원래는 카메라를 더 축소시켜야하나 생각했었는데 그럴게 아니라 모든 오브젝트들을전체적으로 더 작게 만들면 되는 일이었다 그래서 고정 구체도 작게 만들고 초소화 유닛을 제외한 모든 유닛의 크기를 0.7로 줄여주었다 아 드디어 숨이 트인다 이제 유닛들도 폰트사이즈를 조절할 수 있다. 총알 폰트사이즈는 해놓고 이건 왜 여태 안했나 싶다 근데 이렇게 해놓고 보니 굳이 IsShowHP라는 기능이 필요가 없었다그냥 폰트사이즈를 0으로 해두면 보이지 않는것이었다 귀찮아서 걍 냅둘려다가 코드가 한..
-
(11) 패배씬 만들기Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 23. 16:08
이번엔 게임에서 패배했을때 뜨게될 창을 만들도록 하겠다사실 멀티플레이 같은 경우는 임시이긴 하지만 상당히 간단하게 만들었었다텍스트 하나 띄워놓고 아무곳이나 클릭만 하면 다시 인게임 씬으로 넘어가게 했었지만이번엔 좀 더 참신하게 만들어보도록 하겠다 만들기전, 당연히 싱글플레이 인게임창에 있는 Deadzone에 패배판정이 일어나는 순간 "Fail" 씬으로 변환하게 해주었고씬 등록도 해두었다. 이제 한번 만들어보자 원래는 아무것도 움직이지 않는 정적인 화면에 "다시 하기""메인메뉴로 돌아가기""스테이지로 돌아가기" 이 3가지 버튼을 만들어주려 했었다 (12) Start Scene #배경화면이번엔 게임을 시작할때 볼 수 있는 게임시작 화면을 구현해보도록 하겠다우선 시작화면에 가장 필요한 핵심요소는 버튼과 배경..
-
(10) 적 유닛 추가 제작 #3 & 총정리Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 23. 02:05
추가로 더 떠오른 아이디어가 있어서 몇가지 유닛들을 더 추가하겠다 이름 : Enemy1최소/최대 내구도 : 2/4최소/최대 발사시간 : 3/5최소/최대 발사속도 : 1/1.5사용 총알 : Normal Bullet특징 : 총구가 짧고 Muzzle이 총구와 가까움. 발사를 매우 약하게 하여 본인 주변으로 총알 방어막을 만듦공격보다는 수비형 유닛 그리고 새로운 형식의 유닛, 탱커를 추가했다.탱커의 특징은 서포터처럼 공격하지 않는 대신 크기와 체력이 높아 총알받이로 쓰인다 이름 : TEnemy1최소/최대 내구도 : 3/10특징 : 고정되어 움직이지 않음 이름 : TEnemy2최소/최대 내구도 : 3/5특징 : 다른 공과 충돌지 위치에는 변화가 없지만 z축으로 회전한다 이런 느낌이라고 생각하면 되겠다 이제 유..
-
(9) 적 특수 유닛 제작 #2Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 22. 17:37
이제 2개만 더 제작하면 마무리된다이번 특수 유닛의 경우에는 일반 유닛과 전부 동일한 스펙이지만 다른게 한가지 있다면기본 총알 대신 아이템을 발사한다는것이다 이 유닛 같은 경우는 몸체를 담당하는 Center가 아닌 발사를 담당하는 Muzzle을 수정해야한다 using System.Collections;using System.Collections.Generic;using UnityEngine;public class Enemy1Fire : MonoBehaviour{ public GameObject[] enemyBulletPrefabs; // 여러 총알 프리팹을 담는 배열 public float MinPower; public float MaxPower; public void SpawnB..
-
(8) 적 유닛 마무리 & 적 특수 유닛 제작 #1Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 21. 17:49
이번엔 이동이 가능한 적 유닛과 특수 유닛 4가지를 만들어보도록 하겠다 기본 디자인이다. 센터는 기존 유닛과 동일하게 가져가되 양옆에 다리를 달아주면서 이동기능을 추가했다using System.Collections;using TMPro;using UnityEngine;public class Enemy6LegControl : MonoBehaviour{ public float moveSpeed = 1f; // 이동 속도 public float rotationSpeed = 180f; // 회전 속도 private TextMeshPro textMesh; private Transform parentTransform; private void Start() { pare..
-
(7) 싱글플레이 아이템 오류 수정Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 21. 16:52
적 유닛을 정신없이 만들다보니 한가지 넘겨짚었던 사실이 생각났다멀티플레이와 싱글플레이를 확실하게 분리시켰어야 했는데 이걸 놓치고 하고 싶었던것부터 해왔던것이다 싱글플레이에서 아이템을 사용하려니 안되고, 클릭도 안먹히는등등 너무나도 많은 문제가 생겼다 가장 큰 원인은 싱글플레이를 만들때 멀티플레이에 적용되었던 코드들을 그대로 복붙하여 가져와대충 돌아가게만 수정한뒤 그대로 사용한것에 있었다 우선 아이템 버튼과 발사될 아이템 프리팹을 싱글플레이용, 멀티플레이용으로 따로따로 만들어주었다이름 앞에 SP가 붙은건 SinglePlay의 약자로 헷갈리지 않도록 붙였다 그리고 싱글플레이 씬에 쓰이는 모든 아이템 버튼과 발사 프리팹을 교체해주었다 코드도 GameManager가 아니라 SPGameManager를 참조하도록..
-
(6) 적 유닛 제작 #2Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 20. 17:58
(4) 적 유닛 만들기 #1이번엔 스테이지 안에서 쓰일 적 유닛을 만들어보도록 하겠다 적 유닛의 디자인은 이미 예전에 구상해두었고, 사실상 모든 유닛이 거의 비슷한 구조라가장 맨처음 기본유닛의 구현만 성공한다sangeun00.tistory.com (5) 적 유닛 스탯 조절 가능하게 만들기현재 계획하고 있는 적 유닛의 종류는 총 10가지이다.그렇다고 유닛에 맞는 스크립트만 10개를 만들어 붙이기에는 너무 효율성이 떨어지므로기본적인 틀은 똑같은데 스탯이 다른 유닛의 경우에sangeun00.tistory.com 이번엔 전글에서 만든 기초유닛과 스탯 조절하는것을 응용하여 동시에 2발을 발사하는 유닛을 만들어보겠다 이건 더 볼것도 없이 그냥 총구와 발사하는 오브젝트를 복사하여 하나더 붙여넣으면 끝나는줄 알았다..