Player virar para o inimigo(Prefab)
2 participantes
Página 1 de 1
Player virar para o inimigo(Prefab)
Estou enfrentando um problema no meu jogo.
Estou tentando fazer o player identificar constantemente o inimigo mais próximo, consegui fazer ele descobrir o inimigo mais próximo quando inicia o jogo, porem quando nasce novos inimigos ele para de identificar o mais próximo, gostaria de saber como fazer o player sempre ficar identificando o mais próximo.
Código: Player
Estou tentando fazer o player identificar constantemente o inimigo mais próximo, consegui fazer ele descobrir o inimigo mais próximo quando inicia o jogo, porem quando nasce novos inimigos ele para de identificar o mais próximo, gostaria de saber como fazer o player sempre ficar identificando o mais próximo.
Código: Player
- Código:
public GameObject[] Enemy;
public float[] dist;
public GameObject Player;
public GameObject Alvo;
public float distMax;
public float distMin;
public bool podeAtacar;
public Quaternion alvoRoda;
private SpawnManager spawnManager;
public float delay = 1f;
void Start()
{
podeAtacar = false;
Enemy = spawnManager.inimigoPrefab;
spawnManager = GameObject.Find("SpawnManager").GetComponent<[i]SpawnManager[/i]>();
Enemy = GameObject.FindGameObjectsWithTag("Enemy");
dist = new float[Enemy.Length];
}
// Update is called once per fram
void Update()
{
Ataque();
for(int i = 0; i < Enemy.Length; i++){ //pegando a menor posicao
if(i == 0){
distMax = dist[i];
distMin = dist[i];
}
if(dist[i] > distMax){
distMax = dist[i];
}
if(dist[i] < distMin){
distMin = dist[i];
Alvo = Enemy[i];
}
}
alvoRoda = Quaternion.LookRotation(Player.transform.position - Alvo.transform.position, Vector2.up);
Debug.Log("Atacando: " + alvoRoda);
}
TRONRUSH- Iniciante
- PONTOS : 38
REPUTAÇÃO : 0
Respeito as regras :
Re: Player virar para o inimigo(Prefab)
- Recomendo fazer uma List<Transform> posEnemys para guardar a posição de cada inimigo criado na cena.
- No método Update Verifique a posição do player (player.transform.position), em relação a posição de cada inimigo(posEnemys) no mapa.
- Para isso use o Vector3.Distance(player.transform.position, posEnemys.position).
>> Sobre a List, veja essa ótima explicação: https://www.schultzgames.com/t7990-aula-listas-list
>> Sobre o Vector3.Distance(a, b): Retorna a distância entre a e b. Ainda com dúvidas? veja essa explicação: https://www.schultzgames.com/t1492-tutorialcsharp-vector3-distance

- No método Update Verifique a posição do player (player.transform.position), em relação a posição de cada inimigo(posEnemys) no mapa.
- Para isso use o Vector3.Distance(player.transform.position, posEnemys.position).
>> Sobre a List, veja essa ótima explicação: https://www.schultzgames.com/t7990-aula-listas-list
>> Sobre o Vector3.Distance(a, b): Retorna a distância entre a e b. Ainda com dúvidas? veja essa explicação: https://www.schultzgames.com/t1492-tutorialcsharp-vector3-distance


» [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto
» [RESOLVIDO] Inimigo olhar para player.
» Como fazer o Player olhar para o Inimigo?
» [RESOLVIDO] Unity2D - O inimigo não para de seguir o player mesmo ele escondido
» Alguém sabe fazer uma AI para o inimigo seguir o Player em um jogo Top Down
» [RESOLVIDO] Inimigo olhar para player.
» Como fazer o Player olhar para o Inimigo?
» [RESOLVIDO] Unity2D - O inimigo não para de seguir o player mesmo ele escondido
» Alguém sabe fazer uma AI para o inimigo seguir o Player em um jogo Top Down
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos