본문 바로가기

Unity/Unity2D_Shooting

(21)
Unity2D_Shooting - 안드로이드 빌드 1) File - BuildSetting에서 플랫폼을 안드로이드로 바꿔준다 2) PlayerSetting에서 Default Icon을 넣어주고 CompanyName도 바꾸어준다 3) Default Orientation을 Potratit 즉 세로모드로 해준다 4)pakage Name의 company이름을 바꿔주고, Scripting Backend를 IL2CPP로 바꿔준 후 Target Atchitectures의 ARMv7과 ARM64를 둘다 체크해준다
Unity2D_Shooting - 스테이지 관리(스테이지UI, FadeIn,Out 등) 1. 다음스테이지로 넘어가는 것을 각 스테이지별 메모장파일을 읽는 형태로 구현 - 각 스테이지의 보스몹을 잡으면 stageEnd함수가 호출되면서 stage변수가 1증가하고 stageStart함수 가 실행되는데 stageStart함수에서 ReadSpawnFile함수를 다시 실행하면서 spawnList가 초기화되고 stage가 증가한 메모장파일을 다시 읽어들이며 적기체들이 다시 등장하게 된다 이런식으로 매번 다른 스테이지 메모장이 돌아가는 것을 스테이지 가 증가하는 것처럼 보이게 하는 것이다. 2. 애니메이션 넣기 1)빈 껍데기 애니메이터 생성, 빈껍데기 애니메이션 생성 2) 생성한 애니메이터를 Text오브젝트에 드래그앤 드랍 3) 애니메이션창을 키고 scale조절 - 글씨 scale이 초반에 점점 커졋다가..
Unity2D_Shooting - 조작UI 구성 1.UI와 Game화면 크기 같게 보기 - Canvas 인스펙터에서 Render Mode 를 Camera로 바꿔주고 Render Camera에 Main Camera를 드래그 앤 드랍 해주면 Game화면크기과 UI크기가 같아져서 UI를 조작하고 비교하기 편하다 - order layout도 10정도로 올려준다 - pixel perfect도 체크해준다 2.JoyPanel 구성 - JoyPanel 이미지를 9등분하여 9개의 버튼을 만든다 (버튼 이미지 none, Text 삭제, colot tint none) 3. 조이판넬로 이동 구현 - 9개의 Button중 한개의 Button의 인스펙터창에 Event Trigger를 추가해주고 Pointer Down, Pointer Up, Pointer Enter 3개의 이벤..
Unity2D_Shooting - 폭발 애니메이션 1.폭발애니메이터 등록 - empty한 애니메이션박스를 만들고 기본 실행하도록하고 특정한 트리거가 발동했을때 1프레임만 explosion애니메이션이 발동되도록 애니매이터를 짜준다 (방식은 이전 보스몹 피격 애니메이션과 동일) 2. Explosion 스크립트 생성 후 폭발오브젝트에 등록 및 코드 구현 *폭발오브젝트를 만들어서 프리팹화 하고 나서 초기 스프라이트 이미지를 none으로 해주고 초기 프리팹 Active상태를 비활성화로 만들어 준 상태로 게임을 시작해야 폭발잔상이 남는 버그가 안나타난다 3. explosion오브젝트를 프리팹으로 만들어서 오브젝트풀링에 등록| 4. 게임매니져 스크립트 5.플레이어 사망시 폭발이펙트 나타나도록 스크립트작성 6. 적기체 사망시 폭발이펙트 나타나도록 스크립트 작성
Unity2D_Shooting - 보스공격패턴 5.보스 공격 패턴 (1) - 패턴틀 구현 *보스프리팹은 비활성화로 두어야함 활성화로 두면 두번씩 실행되는 버그발생 (2) - Fire1공격-샷건, Fire2공격-부채꼴 (3) - Fire3공격 - 원공격 (4) - 총알이 보는 방향 돌리기 *transform.Rotate(Vector3.forward*x) -> x도 만큼 회전시키기 -makeBullet.transform.Rotate(rotVec) 했을때(좌)와 -makeBullet.transform.Rotate(rotVec+rotVec2) 했을때(우) (5) - 부채꼴 패턴에서 보스총알 자동회전시키기
Unity2D_Shooting - 보스애니메이터 등록, 보스 등장 1.보스 애니메이터 등록 - 히트시의 하얗게 변하는 애니메이션은 처음엔 2개의 스프라이트를 드래그 앤 드랍하여 애니메이션을 만들었다가 다시 애니메이션 설정에서 하얗게 변하는 스프라이트 한개만 남겨두고 앞쪽으로 옮긴 후다른 한개는 지운다 - Any State -> Boss_Hit으로 가는 트랜지션은 BossHit이라는 트리거를 주고 Has Exit Time은 체크해제 - Boss_Hit에서 -> Boss_idle로 가는 트랜지션은 트리거를 공백으로 두고 Has Exit Time을 체크해준다 그래야 정상적인 애니메이션이 발동한다 2. 보스 오브젝트 관리 - Boss오브젝트를 만들어서 Direction을 Horizontal로하고 콜라이더를 조정해주며 리지드바디도 추가해준다 중력스케일 역시 0으로 - 보스 오브..
Unity2D_Shooting - 팔로워 구현 1. 팔로워 생성 및 총알발사 - 기본적으로 follower오브젝트가 총알을 발사하도록 followerBullet 프리팹을 만들어 createManiger에서 프리팹을 풀링하도록 추가하고 총알 발사 기본로직 구성 2. 팔로워가 플레이어를 따라오도록 만들기 - Queue를 사용하여 팔로워가 플레이어를 따라오도록 만들기 리펙토링 - 팔로워가 생김과 동시에는 플레이어 위치에 생성되었다가 따라다닐때는 플레이어와 겹치지 않도록 하기 3. 파워아이템을 먹으면 porwe가 4 이상부터 6까지 팔로워 생성하기 (1) - 플레이어 스크립트에 Followers[] follower 배열을 만들어 팔로워 오브젝트 3개를 배열안에 넣는다 *Follower(1) 오브젝트는 Follower오브젝트위치를 부모로 가지게 하고 Foll..
Unity2D_Shooting - 텍스트파일을 이용한 커스텀배치(중요) 1. 텍스트파일을 이용한 커스텀배치 (1) - Spawn스크립트를 생성하여 아래 3가지 변수가 담긴 Spawn Class를 생성한다 - 3가지 변수를 그대로 사용, 열거한 적기체생성딜레이,적기체타입,적기체생성위치 정보가 담긴 .txt파일을 작성한다 (2) - Assets폴더에 Resources폴더(런타임에서 불러오는 에셋이 저장된 폴더)를 만들고 그안에 우리가 작성한 .txt파일을 넣는다 *Resource 아니고 Resources이다 (3). 비어있는 SpawnList 리스트에 메모장 한줄의 정보가 들어가서 초기화된 Spawn Class인스턴스 1개를 넣어보자 - Spawn클래스의 인스턴스 안의 각각의 변수에 메모장의 여러줄 중 한 줄의 데이터를 삽입하고 그렇게 완성된 인스턴스가 메모장의 한 줄 한줄 마..