SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Erro ?
A escala do objeto importa ?
Como eu faço pra quando o tempo chegar em 14 segundos ele fazer algo
Animação de arma
[TUTORIAL] Script de arma completo! [FREE]
ERRO: O nome de tipo ou namespace "UI" não existe no namespace "UnityEngine"
Existe outras formas de multiplayer sem ser pelo Photon ou Unet?
Skill não se move com o Jogador!!
Amoeba / Gosma - Unity
Player sobreviver desde as 00h ás 04:00
[RESOLVIDO] Publicar no PlayStore um app de Realidade Aumentada
Script de Tempo
[RESOLVIDO] Problema ao arrastar imagens, músicas ou modelos 3D para a UNITY
alguem sabe como atualizar o c#
Como fazer um chão quebrar ao passar por cima no Unity 3D
GetComponet em Array
como fazer um objeto seguir o player 2D
Jogo de Galo e de Galinha também
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Alquem pode me explicar como funciona essa funçao
Como fazer o botão de tiro com touch nao com tecla
Como mover um objeto sem usar collider ou rigidbody?
[RESOLVIDO] Audio Stop e PlayOneShot
Como adicionar códigos nativos de 64 bits em um app Android? 64 bits do Google Play
[RESOLVIDO] Não posso chamar uma matriz por outra?
[RESOLVIDO] Colisão
Mesh bugada no Android
Rotação animação
[RESOLVIDO] Sombras pixeladas (Android)
Como posso fazer pra atirar onde o cursor do mouse está (UNITY 2D)
[DIVULGAÇÃO] Venha aprender C# jogando!
Como programar um sistema para fazer o Player puxar um objetos no Unity
[RESOLVIDO] Erro com "Instantiate"
Migração de Projetos no Unity
Unity: Como otimizar automaticamente o app para o GooglePlay
as sombras da minha sena esta sendo renderizadas longe de aonde deveria começar
Cena para fim do jogo
Podcast de desenvolvedores de jogos
Alguem cria jogos pagos para PLAY STORE?
[DUVIDA] Problema para "spawnar" os players no PhotonNetwork
[RESOLVIDO] Rotacionar modelo ou eixo de orientaçao (iniciante)
Animaçoes
Entou com duvida com on trigger Enter e Exit - UNITY
Script de player - camera bugada - Photon
Alguém que mexa com otimização mobile? Trabalho Remunerado!
Como mudar o prefab do jogador usando unet
Unity Sem DropDown
Demonstração do meu primeiro jogo de terror.
Importa e aplicar animações com root motion
Alterar Variável em conexão de rede
[TUTORIAL] Serialização - JSON
Unity Terrain - Como deixar uma área plana?
Controles mobile 2d game Kit
Projeto Travando Demais
GAME ONLINE UNITY
Novo Projeto - Home Scared
Formação de Equipe
Loja Virtual e moedas.
Oque tem de errado nesse skript ele nao esta voltando a ficar off
Como criar assinatura mensal em jogo na play console
Projétil para arma
[TUTORIAL] Mover objetos 2D e conectar em lugares específicos
[RESOLVIDO] Luz Atravessa Parede
Travando na exportação para Unity
ajuda first person mobile!!
Tento iniciar o unity mas a area de criação não carrega .
Pegar nome objeto clicado
Sistema de coordenadas
Inimigo pular por obstáculos
Erro na execução do jogo
Duvida anuncios da admob
HDRP Unity 2019.3 - Cena escura
Projeto Nervous, formação da equipe
[RESOLVIDO] Salvar Nível de jogo!!
Travar movimento pra frente
Como Faço um Contador na unity 2019 usando GUI
UnityAds
Como reproduzir um som na unity 2019
New The Duel Gunz
trocar de cena quando a vida do inimigo for" 0"
Problema com icone de notificação (small)
Iniciando Unity com erro de compilação
(Google Play) Aviso de instalação não recomendada do meu apk
Problema com a Gui Label
Mudar a Cena ao Apertar o Button
Como fzer um objeto mover suavemente em relacao a camera tipo jogos atuais de fps ajuda :(
Como fazer um campo de visao, vi varios tuturs mas realmente parece ser complexo
Som de queda
Problemas Com C# Script
DAR AÇÃO A UM BOTÃO
Animação de Morte 2
Alterar posição de objeto 2d em relação ao personagem
Bug com Dropdown
Como solicitar permissão de armazenamento na unity
Sistema de Yu-Gi-Oh! - ATT [2020]
[AULAS] Aprenda C# agora!
Como fzer um objeto mover suavemente em relacao a camera tipo jogos atuais de fps
Como faço para corrigir esse erro no script?
[RESOLVIDO] Como posso configurar o NetworkManagerHud ?
Hoje à(s) 12:12 am
Ontem à(s) 9:24 pm
Ontem à(s) 9:20 pm
Ontem à(s) 4:29 pm
Ontem à(s) 12:42 pm
Ontem à(s) 3:50 am
Sab Fev 15, 2020 9:01 pm
Sab Fev 15, 2020 7:28 pm
Sab Fev 15, 2020 3:19 pm
Sab Fev 15, 2020 10:36 am
Sab Fev 15, 2020 12:29 am
Sex Fev 14, 2020 7:41 pm
Sex Fev 14, 2020 4:59 pm
Sex Fev 14, 2020 2:19 pm
Qui Fev 13, 2020 2:25 pm
Qua Fev 12, 2020 3:01 pm
Qua Fev 12, 2020 11:17 am
Ter Fev 11, 2020 7:26 am
Ter Fev 11, 2020 1:07 am
Ter Fev 11, 2020 1:03 am
Seg Fev 10, 2020 10:30 pm
Seg Fev 10, 2020 8:57 pm
Seg Fev 10, 2020 8:32 pm
Seg Fev 10, 2020 4:46 pm
Seg Fev 10, 2020 4:38 pm
Seg Fev 10, 2020 4:15 pm
Dom Fev 09, 2020 8:24 pm
Dom Fev 09, 2020 6:32 pm
Dom Fev 09, 2020 6:27 pm
Dom Fev 09, 2020 6:22 pm
Dom Fev 09, 2020 6:17 pm
Dom Fev 09, 2020 6:11 pm
Dom Fev 09, 2020 5:55 pm
Dom Fev 09, 2020 3:24 pm
Dom Fev 09, 2020 2:18 pm
Dom Fev 09, 2020 2:11 pm
Dom Fev 09, 2020 11:22 am
Sab Fev 08, 2020 2:40 pm
Sab Fev 08, 2020 1:03 pm
Sab Fev 08, 2020 12:10 pm
Sab Fev 08, 2020 11:40 am
Sab Fev 08, 2020 11:18 am
Sab Fev 08, 2020 4:46 am
Sex Fev 07, 2020 10:22 pm
Sex Fev 07, 2020 9:47 pm
Sex Fev 07, 2020 2:10 pm
Qui Fev 06, 2020 10:35 pm
Qui Fev 06, 2020 10:06 pm
Qui Fev 06, 2020 9:44 pm
Qui Fev 06, 2020 2:23 pm
Qui Fev 06, 2020 2:01 pm
Qui Fev 06, 2020 12:51 pm
Qui Fev 06, 2020 10:36 am
Qui Fev 06, 2020 1:19 am
Qua Fev 05, 2020 10:26 pm
Qua Fev 05, 2020 10:13 pm
Qua Fev 05, 2020 10:12 pm
Qua Fev 05, 2020 10:03 pm
Qua Fev 05, 2020 10:02 pm
Qua Fev 05, 2020 10:01 pm
Qua Fev 05, 2020 9:09 pm
Qua Fev 05, 2020 7:48 pm
Qua Fev 05, 2020 10:10 am
Qua Fev 05, 2020 10:03 am
Qua Fev 05, 2020 12:37 am
Qua Fev 05, 2020 12:04 am
Ter Fev 04, 2020 7:36 pm
Ter Fev 04, 2020 3:14 pm
Ter Fev 04, 2020 1:33 pm
Seg Fev 03, 2020 2:18 pm
Seg Fev 03, 2020 9:06 am
Dom Fev 02, 2020 11:42 pm
Dom Fev 02, 2020 9:56 pm
Dom Fev 02, 2020 8:53 pm
Dom Fev 02, 2020 7:58 pm
Dom Fev 02, 2020 6:46 pm
Dom Fev 02, 2020 4:06 am
Dom Fev 02, 2020 1:59 am
Sab Fev 01, 2020 10:35 pm
Sab Fev 01, 2020 10:14 pm
Sab Fev 01, 2020 10:01 pm
Sab Fev 01, 2020 8:56 pm
Sab Fev 01, 2020 7:31 pm
Sab Fev 01, 2020 6:19 pm
Sab Fev 01, 2020 1:15 pm
Sab Fev 01, 2020 12:52 pm
Sab Fev 01, 2020 4:54 am
Sex Jan 31, 2020 3:32 pm
Sex Jan 31, 2020 2:59 pm
Sex Jan 31, 2020 2:56 pm
Sex Jan 31, 2020 1:16 pm
Qui Jan 30, 2020 11:42 pm
Qui Jan 30, 2020 8:15 pm
Qua Jan 29, 2020 9:43 pm
Qua Jan 29, 2020 7:09 pm
Qua Jan 29, 2020 6:40 pm
Qua Jan 29, 2020 4:07 pm
Qua Jan 29, 2020 3:34 pm
Qua Jan 29, 2020 4:16 am
RafaelSquid1
Fagner
Felipe42
Edivandro2706
Edu4rdogx
juansup
Fagner
Nalfam
Fagner
SherDown
joffersoju
joffersoju
MarcosSchultz
diegopds
Daniel Dória
Weslley
palestinus
dstaroski
pedroorf
ffabim
estuartyy
diegopds
BlesseD
iToddy
Snickers1020
maxwarnava
Duarte
MayLeone
MRX
MayLeone
poyser
MayLeone
BlesseD
Fagner
lesgoy
lesgoy
Nightos
hendrick22
lesgoy
daniel123163
HEINZ4K
hendrick22
Felipe42
juansup
mama2401
juansup
LúcioHenrique098
lauderson
hendrick22
SergioDB
paulocezarphp
Edu4rdogx
robsonguerrero
ffabim
fecirineu
fecirineu
fecirineu
fecirineu
Felipe42
fecirineu
speedluk
Batataaaa
guimaraf
Edivandro2706
Fagner
Fagner
FortunoKiller
juansup
JohnRambo
Antônio T
poyser
lesgoy
Sherlock
poyser
speedluk
MayLeone
EduAze33
Fagner
Chilinger
poyser
poyser
DIEGO29
poyser
Edivandro2706
Fagner
Fagner
LúcioHenrique098
Edivandro2706
BlesseD
BlesseD
hendrick22
tyna1
JoelMJunior
poyser
MayLeone
MayLeone
BlesseD
RafaelSquid1
juansup

[RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto

Ir em baixo

Resolvido [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto

Mensagem por Hamassfall em Qua Ago 28, 2019 9:35 am

Eu estava tentando fazer o inimigo virar para onde eu estou em relação a ele no eixo x, mas quando eu chego perto dele ele começa a flipar sem parar.
Quando eu olho no Inspector ele fala que a rotação do inimigo vai para 180, depois vai para 0 e depois volta para 180 e continua assim sem parar.

Aqui meu código:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class Enemy : MonoBehaviour
{

    public GameObject enemyBullet;
    public GameObject player;
    public float minimunDistance = 4f;
    public int enemyHealth = 100;
    public GameObject firePoint2;
    public float move;
    Rigidbody2D rb;
    private bool collide ;
    private float waitingTime = 0.5f;
    public bool canShoot;

    void Start()
    {
        canShoot = true;
        rb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        rb.velocity = new Vector2(move, rb.velocity.y);
        float playerDistance = Vector2.Distance(transform.position, player.transform.position);
        if (playerDistance < minimunDistance && Mathf.Abs(transform.position.y - player.transform.position.y) < 1 && canShoot)
        {
            Shoot();
            canShoot = false;
            StartCoroutine("WaitToShoot");
            move = 0;

            if (player.transform.position.x > transform.position.x)
            {
                transform.Rotate(0f, 180f, 0f);
            }
            else if (player.transform.position.x < transform.position.x)
            {
                transform.Rotate(0f, 180f, 0f);
            }
        }

        if (collide)
        {
            Flip();
        }
    }

    IEnumerator WaitToShoot()
    {
        yield return new WaitForSeconds(waitingTime);
        canShoot = true;
    }

    public void TakeDamage(int Damage)
    {
        enemyHealth -= Damage;
        if (enemyHealth <= 0)
        {
            Destroy(gameObject);
        }
    }

    void Shoot()
    {
        Instantiate(enemyBullet, firePoint2.transform.position, transform.rotation);
    }

    void Flip()
    {
        transform.Rotate(0f,180f,0f);
        move *= -1f;
        collide = false;
    }

    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag == "Wall")
        {
            collide = true;
        }
    }
}

Hamassfall
Avançado
Avançado

PONTOS : 323
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto

Mensagem por lesgoy em Qui Ago 29, 2019 12:14 am

Apesar de não entender muito desses codigos chiques vou tentar ajudar kkk

Olha essa Linha 
[list=linenums]
[*]if (player.transform.position.x > transform.position.x)

[*]            {

[*]                transform.Rotate(0f, 180f, 0f);

[*]            }

[*]            else if (player.transform.position.x < transform.position.x)

[*]            {

[*]                transform.Rotate(0f, 180f, 0f);

[*]            }

[/list]

Primeira coisa, acredito que não é necessario esse elseIf. Por que se o if verifica oque esta dentro (Se o personagem ta perto do inimigo) um else faria tudo que ta fora executar o contrario.
Ex:
Se tiver perto Olha pra ele
Senão não olha.
Começa por ai e tenta executar.
Ok, como ele ta fzr isso direto acredito que seu script ta precisando de uma pausa.
Como eu ja disse eu não entendo os codigos chiques e provavelmente existe um comando bobo que vai fzr oq eu vou falar.

Como eu resolveria :

Criaria uma variavel do tipo int, chamada stop.
Na função start ela receberia 0.

Quando o personagem chegar perto do inimigo e ele virar ela recebe 1.
[list=linenums]
[*]if (player.transform.position.x > transform.position.x)

[*]            {

[*] if(stop == 0)

[*] {

[*]                transform.Rotate(0f, 180f, 0f);

[*] stop =1;

[*] }

[*]            }

[*]            else if (player.transform.position.x < transform.position.x)

[*]            {

[*]               

[*] if(stop == 1)

[*] {

[*]                transform.Rotate(0f, 180f, 0f);

[*] stop =0;

[*] }

[*]            }

[/list]


Oque eu fiz :

Quando a variavel esta valendo 0, significa que o personagem pode virar e então se ele tiver no range do inimigo ele vai virar.
Mas ele só vai fzr isso uma vez pq após ele virar a variavel recebe 1 e ele não vira mais.
Quando ele sai do range ele desvira e a variavel recebe 0 (Impedindo que ele vire denovo) e claro, ele só vai ter permissão para desvirar quando a variavel receber 1 novamente.

Em fim, se souber uma maneira chique fique a vontade para usa-la.
O problema é que ele ta recebendo 180 toda hora e ai fica :
0 > 180 > 0 > 180, pq não tem um pause entende?
Tudo que vc precisa fzr é criar algo para que ele gire somente uma vez.
Espero que tenha ajudado .

lesgoy
Mestre
Mestre

PONTOS : 1623
REPUTAÇÃO : 43
Respeito as regras : [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto

Mensagem por lesgoy em Qui Ago 29, 2019 12:15 am

Esqueci de corrigir o else if kkk 
É só no lugar de else if deixar só else.
Código:
if ( Condição ){

}else
{

}

lesgoy
Mestre
Mestre

PONTOS : 1623
REPUTAÇÃO : 43
Respeito as regras : [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto

Mensagem por lesgoy em Qui Ago 29, 2019 12:16 am

PS : Eu coloquei o codigo na caixinha script mas não sei pq da primeira vez bugou e n foi

lesgoy
Mestre
Mestre

PONTOS : 1623
REPUTAÇÃO : 43
Respeito as regras : [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto

Mensagem por Hamassfall em Qui Ago 29, 2019 9:06 am

@lesgoy escreveu:Apesar de não entender muito desses codigos chiques vou tentar ajudar kkk

Olha essa Linha 
[list=linenums]
[*]if (player.transform.position.x > transform.position.x)

[*]            {

[*]                transform.Rotate(0f, 180f, 0f);

[*]            }

[*]            else if (player.transform.position.x < transform.position.x)

[*]            {

[*]                transform.Rotate(0f, 180f, 0f);

[*]            }

[/list]

Primeira coisa, acredito que não é necessario esse elseIf. Por que se o if verifica oque esta dentro (Se o personagem ta perto do inimigo) um else faria tudo que ta fora executar o contrario.
Ex:
Se tiver perto Olha pra ele
Senão não olha.
Começa por ai e tenta executar.
Ok, como ele ta fzr isso direto acredito que seu script ta precisando de uma pausa.
Como eu ja disse eu não entendo os codigos chiques e provavelmente existe um comando bobo que vai fzr oq eu vou falar.

Como eu resolveria :

Criaria uma variavel do tipo int, chamada stop.
Na função start ela receberia 0.

Quando o personagem chegar perto do inimigo e ele virar ela recebe 1.
[list=linenums]
[*]if (player.transform.position.x > transform.position.x)

[*]            {

[*]if(stop == 0)

[*]{

[*]                transform.Rotate(0f, 180f, 0f);

[*]stop =1;

[*]}

[*]            }

[*]            else if (player.transform.position.x < transform.position.x)

[*]            {

[*]               

[*]if(stop == 1)

[*]{

[*]                transform.Rotate(0f, 180f, 0f);

[*]stop =0;

[*]}

[*]            }

[/list]


Oque eu fiz :

Quando a variavel esta valendo 0, significa que o personagem pode virar e então se ele tiver no range do inimigo ele vai virar.
Mas ele só vai fzr isso uma vez pq após ele virar a variavel recebe 1 e ele não vira mais.
Quando ele sai do range ele desvira e a variavel recebe 0 (Impedindo que ele vire denovo) e claro, ele só vai ter permissão para desvirar quando a variavel receber 1 novamente.

Em fim, se souber uma maneira chique fique a vontade para usa-la.
O problema é que ele ta recebendo 180 toda hora e ai fica :
0 > 180 > 0 > 180, pq não tem um pause entende?
Tudo que vc precisa fzr é criar algo para que ele gire somente uma vez.
Espero que tenha ajudado .
Era isso mesmo, funcionou certinho aqui.
Eu também não sei se existe um comando para fazer isso mas por enquanto esse vai servir kkkkkkkk

Hamassfall
Avançado
Avançado

PONTOS : 323
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Fazer o inimigo virar para o lado que você está quando você chega perto WvDYdlf

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum