티스토리 뷰
1. 원하는 이미지 선택하기
Hierarchy 에는 GameObject 가 모두 포함되어 있다고 설명했었습니다. 이동을 원하는 이미지 소스를 더블클릭하면 Scene 에서 초점이 확대됩니다.
Inspector 에서 이미지 소스를 편리하게 수정할 수 있습니다. 이것 저것 만져보면 금방 기능을 알 수 있으니 이참에 건드려 보는걸 추천드립니다.
하지만 아무리 유니티라고 해도 불안정한 부분이 있습니다. Scale 은 아시다 싶이 소스의 크기를 늘리는 기능인데 건들이면 문제가 발생할 수 있습니다. 크기를 키우고 싶다면 Scale 을 사용하는 것보단 이미지 자체를 크게 만들어서 넣는게 좋습니다.
2. C# Script 만들기
그렇습니다. 사실 앞에서 이미지를 선택하는건 안해도 됩니다. 바로 코딩으로 들어가면 너무 재미없을 수 있어서 "저런 기능도 있으니 만져보세요." 하고 유도한 것입니다.
이제 본격적으로 이미지 소스를 움직이게 할 코드를 만들어야 합니다. 유니티는 C# Script 를 이용합니다. 만드는 방법은 위 그림과 같이 좌측 아래에 Project -> Assets 으로 이동 후 빈 화면에 마우스 우클릭을 하고 C# Script 를 선택하면 됩니다.
주의할 점은 C# Script 파일 이름과 public class PlayerMove_1 의 class 다음에 나오는 class 이름이 같은지 확인해야 합니다. C# Script 를 클릭하면 Inspector 에서 간편하게 모니터링 할 수 있으니 대치해보면 됩니다.
그리고 파일 이름은 한글을 쓰지 않도록 합니다. 왜냐하면 한글은 조합형 언어이기 때문에 컴퓨터가 알아듣기 힘듭니다. 핵심 영어 키워드로 구분하는 것이 좋습니다.
이제 생성하신 C# Script 파일 코드를 추가하거나 수정하셔야 하는데 Visual Studio 2017 이 필요합니다. 인터넷에 검색하면 쉽게 다운로드 받을 수 있으니 보고 따라하면 됩니다.
3. C#에서 이미지 소스를 움직이게 해주는 코드 입력하기
C# 파일 이름은 독자분께서 마음대로 정하셔도 되지만 해당 글에서는 편의상 PlayerMove_1 이라고 하겠습니다.
저희는 PlayerMove_1 코드에 이미지 소스가 움직일 수 있게 해주는 코드를 추가해야합니다. PlayerMove_1을 더블클릭하면 어떤 앱을 사용해서 열건지 선택하는 창이 나옵니다. Microsoft Visual Studio 2017을 선택합니다.
C# 문법에 대해 설명하기에는 너무 많은 것을 설명해야 되기에 필요한 기능만 설명하겠습니다.
Start와 Update에 대해서 알아야할 필요가 있습니다. 간단히 말하자면,
Start는 시작할 때 실행되는 코드입니다.
Update는 매 프레임마다 실행되는 코드입니다. 60프레임이면 1초에 60번 실행되는 코드입니다.
우선 위 사진과 같이 코드를 작성해주고 저장을 누릅니다.
우선 작성한 소스를 원하는 이미지 소스로 드래그 앤 드랍 해줍니다. 그러면 이미지에 소스가 적용된 것입니다.
플레이 버튼을 누르면 코드가 어떻게 작동되는지 알 수 있을 겁니다. Update가 계속 증가하고 있습니다. 이제 이미지소스를 움직이는 코드를 작성해봅시다.
키보드 오른쪽 화살표 버튼을 무르면 오른쪽으로 이동하는 코드입니다. 주석으로 간단한 설명을 달아뒀습니다. if()같은 문법을 쓰는 이유는 본인이 직접 공부하셔야 합니다.
굳이 책을 사서 공부할 필요는 없습니다. 저도 아직 공부하는 입장이고 C# 입문 정보는 인터넷에 매우 많습니다. 유니티는 C#을 이용하므로 해당 사이트로 가셔서 예제로 공부하면 하나 하나 이해되기 시작 할겁니다.
위와 비슷한 코드 작성방법으로 이미지를 여러 방향으로 이동 가능합니다.
한쪽 방향으로 이동하는 것은 알아봤으니 방향키 4방향을 모두 쓸려면 어떻해야 할까요?
조건문으로 간단하게 방향키 4방향을 넣을 수 있습니다. 응용해서 사용할려면 역시 C# 문법을 간단하게라도 알아야 가능하고 이해할 수 있습니다.
감사합니다.
'유니티 Unity > 2D 게임 프로젝트' 카테고리의 다른 글
(유니티 기초 Tilemap) 6강 게임 환경 만들기 (0) | 2019.04.06 |
---|---|
(유니티 기초) 5강 각각의 GameObject 마다 다른 속도로 이동시키기 (0) | 2019.04.03 |
(유니티 기초 GetKey) 4강 GetKey 의 다양한 기능 (0) | 2019.03.30 |
(유니티 기초) 2강 Asset Store 에서 다운로드한 이미지 소스 사용하기 (0) | 2019.03.27 |
(유니티 기초) 1강 에셋 스토어(Asset Store)로 연습할 소스 가져오기 (0) | 2019.03.27 |