Study

4. 4방향으로 발사체 발사

YujinK 2016. 4. 12. 15:54

플레이어의 발사체를 4방향으로 발사하게 하고싶은데 어떻게하는지 잘 모르겠는 것이다..


또 열심히 삽질하고 서칭하다가 성공함!

일단 빔(발사체) 스크립트는 건드릴 필요 없고, 그대로 X방향(오른쪽)으로 이동하게 두었다.


건드릴 것은 플레이어스크립트의 빔컨트롤 함수부분!


(*유니티 자습서 2D프로젝트에 보니 빈 오브젝트를 추가하여 거기서 제어하도록 하면 빔 발사 위치를 좀 더 정교하게 다룰 수 있다고 한다. 일단 지금 만드는 게임에선 필요없는 작업이고, 나중에 총을 쏜다던가..발사체의 위치를 정확하게 해야할 때 시도해봐야겠다.)


나는 위,아래,왼쪽,오른쪽 화살표를 누르면 발사체가 나가도록 해주었다.

기본 형태는,

if(Input.key(keyCode.누를 키))

{ Rigidbody2D bulletInstantiate = Instantiate(발사체 프리팹, transform.position,    Quaternion.Euler(new Vector3(0, 0, 각도입력))) as Rigidbody2D;}


이다.


Z축 각도만 조절하여 입력해주면 된다.

기본값에 오른쪽이므로, 오른쪽으로 발사하고 싶은 경우에는 z각도를 0으로 입력해주면 된다.


왼쪽은 180f, 위는 90f, 아래는 -90f이다.




+으음, 빔에 메모리풀을 적용하려고 했는데..4방향으로 빔을 쏘게하는방법을 모르겠다.

한 5시간 삽질하다가, 결국 빔 위/아래/오른쪽/왼쪽 프리팹 따로 만들어서 적용시켜줬다. 좀 더 나은방법이 분명 있을텐데..