public void setRoom(GameObject p)
{
player = p.GetComponent<PlayerManager>();
movePlayer(player);
foreach (Transform t in enemySpawnPosition)
{
spawnEnemy(t);
}
}
using UnityEngine;
public class EnemyMovement : MonoBehaviour
{
GameObject player;
bool found = false;
private void Update()
{
if(player == null)
{
var o = Physics2D.OverlapCircle(transform.position, 999f, LayerMask.GetMask("Player"));
if (o != null)
{
player = o.gameObject;
}
}
else
{
if (found == false)
{
var o = Physics2D.Linecast(transform.position, player.transform.position, LayerMask.GetMask("Wall"));
if (o.collider == null)
{
found = true;
}
}
}
}
private void OnDrawGizmos()
{
if (found)
{
Gizmos.color = Color.green;
}
else
{
Gizmos.color = Color.red;
}
if (player != null)
{
Gizmos.DrawLine(transform.position, player.transform.position);
}
}
}
중단점 걸어보삼
이동함수가 rb.position라서 갱신주기때문에 늦은거네이동함수가 rb.position라서 갱신주기때문에 늦은거네