지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=q7BL-lboRXo&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=10 이번 강의도 지난 강의에 이어 맵 자동 생성에 대해서 다루는데, 그 중에서 랜덤한 타일에 장애물을 생성하는 것을 다룰 것이다. 시작해보자. 맵에 장애물을 생성하기 위한 방법으로 간단하게 랜덤한 타일의 x, y 좌표를 받고, 그곳에 장애물을 생성할 수 있다. 하지만 이 방법을 사용하면 장애물이 중복된 위치에 생성될 수 있다. 이를 해결하기 위해 모든 타일들의 좌표를 배열로 저장하고 섞은 다음, 첫 번째 위치를 첫 번째 장애물 위치로 한다. 위 강의에서는 배열의 셔플 알고리..
게임개발
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=gIUVRYViG_g&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=9 이번 강의부터 한동안은 맵 자동 생성에 대해 다룬다. 시작해보자. 맵 생성기를 제작하여 임시로 저장해 놓을 새로운 씬 MapGenerator 를 만든다. 빈 오브젝트 Map 을 생성하고 위치를 0, 0, 0 으로 설정하자. MapGenerator 스크립트를 생성하고 Map 오브젝트에 할당해준다. 이제 MapGenerator 스크립트를 작성하자, 일단은 일부만 작성했다. | MapGenerator 스크립트 using System.Collections; using System..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=-mEbCEENpjU&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=9 이번 강의에서는 게임의 끝을 만들어본다. 게임이 끝나기 위해 적이 플레이어를 공격해 체력을 깎고, 체력이 모두 깎이면 끝나게 하자. Enemy, IDamaneable, LivingEntity 를 수정해 공격으로 플레이어의 체력을 깎도록 하자. | Enemy 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(UnityEngine.A..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=njqRlH3Hj3Q&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=7 이번 강의에서는 적의 공격 시스템을 만들어본다. 시작해보자. 기본적인 구조는 적이 플레이어 주변의 한계 거리까지 들어왔을 때, 색상이 더 붉게 변하며 플레이어를 찌르는 방식으로 한다. Enemy 스크립트를 수정하자. | Enemy 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(UnityEngine.AI.NavMeshAgent)..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=ajwRvAGKl_k&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=6 이번 강의에서는 적 스폰(소환)시스템을 만들어본다. 시작해보자. 적을 소환하기 위한 스크립트와 빈 게임 오브젝트 Spawner 를 만들자. Spawner 오브젝트의 위치를 중앙으로 설정하고 Spawner 스크립트를 할당해주자. | Spawner 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Spawner : MonoBehaviour { public..
지난번에 이어 게임을 만들어보자. 이번에 참고할 강의는 아래 강의이다. https://www.youtube.com/watch?v=v0zVBtZpB-8&list=PLctzObGsrjfyevwpeEVQ9pxGVwZtS7gZK&index=5 이번 강의에서는 데미지 시스템을 만들어본다. 시작해보자. 먼저, 지난 시간에 충돌 시 충돌을 감지하도록 했다. 데미지를 주기 위해서는 이를 오브젝트에 전달해야 한다. 이를 위해 데미지를 받는 메소드를 가지는 인터페이스를 생성, 데미지를 받아야 할 각 오브젝트는 인터페이스를 상속받아 발사체에 맞은 것을 감지하는 메소드를 구현하자. (클래스가 다중상속이 되지 않기 때문에 다중상속이 가능한 인터페이스를 사용하여 추상화된 멤버를 각 클래스에서 구현하여 사용한다) 인터페이스를 생성..