반응형
이제 적의 움직임 즉, AI를 만들 시간이다.
Ai만 만들거라 오늘 포스팅은 좀 짧을 수 있다.
일단 EnemyAi라는 스크립트를 먼저 만들자.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyAi : MonoBehaviour
{
public Transform target; //당연히 타겟은 플레이어 일 것이다. Transform으로 Target의 위치를 받아온다.
void Update()
{
float dis = Vector3.Distance(transform.position, target.position); //내위치와 target의 위치 사이의 거리를 구함
if (dis <= 10) // 거리가 10칸 안으로 좁혀졌으면 쫒기 시작
{
Move();
}
else return;
}
void Move()
{
float dir = target.position.x - transform.position.x; //2d이기에 좌우만 빼면됨 (내x위치 - targetx위치)
dir = (dir < 0) ? -1 : 1; //방향조절 dir의 x거리가 -라면 -1,아니면 1
transform.Translate(new Vector2(dir, 0) * Enemy.speed * Time.deltaTime);
}
}
이걸 Enemy에게 넣어주자.
여기 Target부분에 플레이어를 끌어다 넣으면 된다.
이렇게 AI도 만들어 줬다.
다음번에는 공격을 만들어 보겠다.
**(제가 만들고 있는 게임을 토대로 설명드리는 것입니다. 코딩이 제 스타일이라 참고만 하시는 걸 추천합니다.)**
반응형
'취미 > 게임 개발' 카테고리의 다른 글
[Unity] 게임 개발 - 한 점으로 이동시키기 (0) | 2021.12.10 |
---|---|
[Unity] 게임 개발 - 클릭 이벤트 만들기 (0) | 2021.12.09 |
Unity 2D 로그라이크 게임만들기(적과 바닥) #2 (0) | 2021.08.27 |
Visual studio에서 Unity 자동완성이 안될때 (1) | 2021.08.27 |
Unity 2D 로그라이크 게임만들기(플레이어 생성) #1 (0) | 2021.08.26 |