Enemy C#스크립트 컴퍼넌트 제작하여 이동 및 랜덤 정렬 시키기


원 강좌 URL : http://progagmer.blog.me/199462337


강좌 따라해보기에 앞서 간단한 구글 게임을 하나 소개할까 합니다.

아래와 같이 인터넷이 끊긴 화면에서 방향키 위로 누르면 공룡이 움직이기 시작하면서 게임이 시작됩니다.

오늘 아침부터 인터넷이 잠깐 끊겨서 당황했지만 전화해서 바로 해결을 했고 해결이 되서 다행입니다.

자, 그럼 이제부터 강좌 따라하기를 시작해보겠습니다.


이번 시간에는 위의 원 강좌를 따라해 보면서 Enemy C#스크립트 컴퍼넌트 제작하여 이동 및 랜덤 정렬 시키기를 해보겠습니다. 


C#스크립트를 먼저 하나 추가하겠습니다. 스크립트 추가에 대한 이미지 보여주는 것은 이번이 마지막입니다. 앞으로는 글로만 설명을 하도록 하겠습니다.


3_Script에 내용이 보일 때 마우스 오른쪽 클릭 -> Create 클릭 -> C# Script 클릭하여 새 스크립트를 생성하고 그 이른을 Enemy로 바꿔줍니다. 그리고 그 스크립트를 편집해 보도록 하겠습니다.


위의 내용을 추가 해 줍니다. 첫부분의 코드는 인스펙터에서 수정할 수 있는 _speed라는 변수를 하나 선언한 것 입니다. 그리고 두번째 부분의 코드는 Translate명령을 통해서 EnemySet  Object를 이동시키는 기능의 코드입니다.


코드를 수정하였으면 EnemySet Prefab에 수정 한 C# 스크립트 Enemy를 컴포넌트로 추가 해줍니다.


추가 후 Speed값을 인스펙터에서 -2로 수정해줍니다.

여기까지 완료되었을 때 Game을 Play해보면 아래와 같은 결과가 나올 것입니다.





추가 한 후 코드를 수정하겠습니다. 배열과 랜덤범위를 이용하여 Set1~Set5를 임의로, 무작위로 배치를 해 보도록 하겠습니다. 우선 게임오브젝트 타입의 배열을 하나 아래와 같이 생성해줍니다.

그 후 EnemySet인스펙터에서 프리펩에 있는 Set1~5까지를 EnemySet0 ~ 4까지에 드레그 엔 드롭으로 넣어줍니다.

그리고 마지막으로 스타트 함수에 아래와 같이 코드를 추가해줍니다.

위 코드에 대해 강좌에서 설명한 것을 간단히 정리하면 

_EnemySet[Index]은 인덱스(Index)값으로 배열의 각각의 값(오브젝트)에 접근이 가능합니다.

Random.Range(parameter1,parameter2)은 parameter1이상 ~ parameter2미만의 값까지 임의의 값을 반환해줍니다.


마지막으로 결과 영상을 보여드리겠습니다.



이상으로 랜덤정렬 해보기를 마치겠습니다. 감사합니다.

+ Recent posts