Unity에서 2D 플랫 포머 게임에서 길 찾기 AI를 구현하려면 어떻게해야합니까?


Best answer

2D 플랫 포머 (side to side)를위한 가장 간단한 방법 이렇게하면 플레이어가 변형되고 스프라이트 렌더러가 그런 식으로 뒤집고 번역 속도도 그렇게 뒤집 힙니다. 적에 대한 플랫 포머에는 실제로 길 찾기가 없습니다. 예를 들면 다음과 같습니다.

[SerializeField] Transform player;

[SerializeField] SpriteRenderer rend;

[SerializeField] float speed;

void Update()

{

if(player.pos.x < transform.position.x)

{

renderer.flipX = true;

transform.Translate(new Vector2(-speed, 0f));

}

else

{

renderer.flipX = false;

transform.Translate(new Vector2(speed, 0f));

}

답변

시간이있을 때 (= 작업 사이 : d) 작업했던 프로젝트 중 하나는 매우 고전적인 구식 저수준 2d였습니다. 스프라이트 기반 게임 엔진, 플랫 포머 등에 적합합니다. 그 이유는.

실제로 2D 엔진을 직접 작성하는 것은 매우 재미있는 일입니다. 몇 달 안에 혼자서 일하다 몇 년이 넘었 기 때문에 게임을 만들 수없는 파이 인 더 스카이 프로젝트 인 대형 3D 엔진과는 다릅니다. 자체 2D 엔진을 굴리는 것이 다소 시대 착오적이라면 여전히 상당히 합리적입니다.

대부분 내 게임 엔진 (일반 Win32 위에 C ++로 작성)은 다음과 같이 구성되었습니다.-그래픽 클래스 (낮은 수준의 캔버스) 선, 다각형 또는 원시 픽셀을 그릴 수 있음)-스프라이트 클래스, 이미지의 조각을 결합하여 애니메이션 및 스프라이트를 그리고 비트 맵 텍스트를 그리기위한-타일셋 클래스, 타일셋 배경을 관리하기위한-간단한 구성 요소가있는 UI 클래스 계층 ( 버튼, 패널, 목록 상자 등)-간단한 물리 엔진 (멋진 것은 아닙니다. 물체를 약간의 속도로 움직이고 다른 물체 및 풍경과의 충돌을 유발할 수있는 기능)-간단한 사운드 클래스-메인 게임 이 모든 것을 하나로 묶고, 마우스와 키보드 메시지를 보내고, UI 객체에 이벤트를 보내고, 모든 스프라이트를 렌더링하고, 모든 물리 객체를 업데이트하는 루프 / 게임 상태 머신. 기본적으로 "심장"입니다. 경기. 기본 게임 (암시 적으로 게임 엔진)의 작동 방식을 이해하려면이 영역, 게임 상태 관리, 게임 이벤트 및 주요 업데이트 / 드로잉 루프에 중점을 둡니다. -플랫폼에 의존하는 Win32 그리기 코드를 작은 파일로

또한 .NET / C ++ / CLI를 사용하여 파일 변환기, 타일셋 편집기 및 애니메이션 편집기를 작성했습니다. 실제로 대부분의 작업은 스프라이트 및 물리 클래스와 스프라이트 편집기를 작성하는 것이 었습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다