Startpunkten
This commit is contained in:
40
Assets/Scripts/EnemyController.cs
Normal file
40
Assets/Scripts/EnemyController.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class EnemyController : MonoBehaviour {
|
||||
private GameObject player;
|
||||
public float enemySpeed = 2f;
|
||||
public float minDistance = 0.5f; // Minsta avstånd mellan fiender
|
||||
|
||||
void Start() {
|
||||
player = GameObject.FindWithTag("Player");
|
||||
}
|
||||
|
||||
void Update() {
|
||||
if (player != null) {
|
||||
// Beräkna riktning mot spelaren
|
||||
Vector3 direction = (player.transform.position - transform.position).normalized;
|
||||
|
||||
// Kontrollera om det finns andra fiender nära
|
||||
Collider2D[] nearbyEnemies = Physics2D.OverlapCircleAll(transform.position, minDistance);
|
||||
foreach (Collider2D enemy in nearbyEnemies) {
|
||||
if (enemy.gameObject != this.gameObject && enemy.CompareTag("Enemy")) {
|
||||
// Flytta bort från den andra fienden
|
||||
Vector3 away = (transform.position - enemy.transform.position).normalized;
|
||||
direction += away; // Justera riktningen
|
||||
}
|
||||
}
|
||||
|
||||
// Normalisera riktningen igen
|
||||
direction = direction.normalized;
|
||||
|
||||
// Flytta fienden mot spelaren (med justerad riktning)
|
||||
transform.position += direction * enemySpeed * Time.deltaTime;
|
||||
}
|
||||
}
|
||||
|
||||
void OnDrawGizmosSelected() {
|
||||
// Rita cirkeln i Scene för att se minDistance
|
||||
Gizmos.color = Color.red;
|
||||
Gizmos.DrawWireSphere(transform.position, minDistance);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user