본문 바로가기

Unity/Unity2D_Shooting

(21)
Unity2D_Shooting - 적 비행기 구현, 랜덤생성 1. enemy 구현 (1) - enemy 스프라이트를 아틀라스로 자른 후에 각 enemy 오브젝트에 맞는 콜라이더를 추가한다 *polygon collider는 phisics shape을 따라감 아래 예제는 삼각형 모양 enemy 오브젝트의 콜라이더를 스프라이트에디터에 들어가서 custom phisics shape -> Generate 클릭 -> 콜라이더경계를 수동지정해준다 (2) - 세개의 enemy 오브젝트에 이름을 가각주고 tag는 enemy로 통일하며 각각에 맞는 콜라이더를 주고 움직이도록 속력을 줘야하기때문에 rigidbody2D 속성도 추가해준다 - 그리고 이놈들의 bodyTpye이 Dynamic이기 때문에 각각 isTrigger도 체크해준다 그래야 서로 안부딫친다.. - 중력의 영향도 없앤다..
Unity2D_Shooting - 총알 발사 딜레이 및 총알 파워업 구현 1. 스페이스바를 눌러야 나가도록 하기 및 총알 발사 딜레이 구현 -상단에 public float delay; 를 주어 유니티 에디터에서 딜레이시간을 정해주고 -public float currentTime;을 주어 현재흐르는시간을 유니티 에디터에서 보여준다 2. 파워업 총알 구현 - 상단에 public int power;를 선언(차 후 아이템을 먹으면 power가 올라가도록 구현예정) -shootin()함수에서 총알프리팹을 생성하여 위로 힘을줘 발사하는 코드를 switch문을 이용하여 power에 따라 다른 갯수 다른 위치 다른 프리팹이 생성되도록 추가 구현하여 파워업 총알 구현
Unity2D_Shooting - 총알 발사 구현 1. 총알 발사 구현 (1). 총알 프리팹 만들기 - 총알 스프라이트를 드래그 앤 드랍으로 계층구조에 넣는다 - 만들어진 총알(BulletA 와 BulletB) 오브젝트에 collider와 rigidBody2D 속성을 추가한다 *rigidBody의 BodyType은 Dynamic으로 한다 움직임에 AddForce를 쓸 것이기 때문이다 - is Trigger도 체크해준다 - 이제 속성까지 갖춘 계층구조 안의 두 총알 오브젝트를 Project폴더의 Assets폴더로 드래그앤 드랍한다 - 그러면 Assets 폴더에 오브젝트가 들어가며 계층구조에 있던 총알 오브젝트들이 파란색으로 변한다 *프리팹을 사용하면 같은 오브젝트를 복제, 반복사용, 삭제등을 용이하게 할 수 있고 관리하기 편하다 (2). BulletBor..
Unity2D_Shooting - 이동애니메이션 1.애니메이터 및 애니메이션 생성 - 각 이름에 맞는 애니메이션을 생성하고 파라미터로 int Input을 생성함 - Input값은 코드 내의 플레이어의 움직임을 관리하는 Input.GetAxisRaw("Horizontal")의 값 -1, 0 , 1 로 관리함 - 따라서 각애니메이션마다 -1 일땐 Player_Left 애니메이션이 1일땐 Player_Right 애니메이션이 0일떈 Player_idle 애니 매이션이 작동하도록 트랜지션을 짜준다 *역시나 Has Exit Time 체크해제 및 겹치는 구간 없게 설정 2. 코드작성 // 나의 상태, 조건 -----> 그 상태로 인한 비교연산자가 사용가능한 코드 변화 //1. 내가 우측키를 누른다 ---> Input.getbuttondown("Horizontal"..
Unity2D_shooting - 스프라이트 및 이동로직 1. 2d 비행기 스프라이트 이미지설정 - Spirte Mode = Mulitple - Pixel Per Unit = 24 - Filter Mode = Point(no filter) - Compression = None - 이 후 Sprite Editor에서 가로세로 Pixel = 24, padding = 1씩 주고 이미지를 아틀라스화 함 2.이동로직 스크립트 3.플레이어 콜라이더 및 테두리 콜라이더 - 플레이어에 collider2D 추가 및 empty오브젝트들을 만들어 collider2D속성으로 테두리 생성 *tip)어떤 오브젝트가 가진 속성들을 아래와 같이 Copy Component로 복사하여 다른 오브젝트에 붙여넣기가 가능 4.충돌 - 이제 콜라이더를 가진 각 오브젝트들에게 rigidbody속성을 ..