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:
StreamWriter... ajuda rapida no salvamento
Salvar Cores com Json
[TUTORIAL] Compilar para Android
Asset de paint com lag
Efeito Glowing
Fazer cada Scene em uma orientação
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Utilizar movimento de plataforma na UI
COMO MOVER UM OBJETO OU PERSONAGEM
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D
texto com rolamento pela seta
[RESOLVIDO] Rotacionar Personagem De Acordo Com a Direção Do Analógico
Dúvida Com Conta Matematica
[RESOLVIDO] Colocar uma condição para remover uma variavel do inspector?
APK trava com Admob
Conectar ao wifi
Celular dentro do game
[TUTORIAL] Como fazer um TELEPORTE
[RESOLVICO] Colisor que ao atravessar ele eu mudo minha cena no Unity2D ?
[TUTORIAL] Mover, arremessar e girar objetos com o mouse
Objeto sempre ocupando toda a camera
Transições de Animações de Sprites
Pack de áudio/ efeitos sonoros gratuitos.
[RESOLVIDO] Sprites mudando posição
Renderização no blender
[RESOLVIDO] AJUDA ERRO COM INIMIGO
Unity - Erro ao Salvar
Duvida resolucao
Mecânica de destruição de parte de um sprite
[RESOLVIDO] Reconhecimento de Joystick e Teclado
convert byte[] em texture2D
[TUTORIAL] Mover objetos 2D e conectar em lugares específicos
Captura de imagem
Como fazer variáveis se ocultarem no Editor?
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
paredes
OnTriggerExit2D detectando collider desativado
[TUTORIAL] Wheel Collider - como configurar corretamente.
posição de cubos..
[RESOLVIDO] Movimentar personagem por grade com clique do mouse. (Isométrico)
[RESOLVIDO] Data e hora atual no android
Como faz para o jogo saber se e windows, android,tablet , mac e ios?
Game Engine
Dúvida Sobre o lucky patcher
[TUTORIAL] Converter uma variável String em Vetores
Tem como reproduzir vídeo em android?
Preferência em Games
[TUTORIAL] Singleton, A melhor forma de acessar a classe!
[RESOLVIDO] Acessar Scripts de Objetos Que Estão Como "DontDestroyOnLoad()" ?
[TUTORIAL] Arma tipo a do call of duty
[TUTORIAL] Double Jumping para games em 2D
[TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
GameJam valendo 15 mil reais em bitcoin!!
Combinar prefabs?!?
[TUTORIAL] Como usar FREE EASY CRIATURA CONTROLE IA
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
Multiplayer será tirado da Unity?
Como dar o mesmo valor a varias variaveis ?
Procurando modelador de personagens!
Conta playstore
[TUTORIAL] Sistema de "Entrar" em locais
[TUTORIAL] Sistema de Lanterna com Pilhas
Como mudar cor do botao UI
[RESOLVIDO] Set Materials
Uma duvida sobre colliders 2d
Efeito 'vai e volta'
Tiro do IA direcionado a posição atual do Player
CircleCast
[RESOLVIDO] MoveTowards
Como mudar variaveis de uma [Serializable]
[TUTORIAL] Plataforma Tangente 2D
como criar um sistema de concorrência finaceira para jogo tycon
Salvando screenshot na galeria do Ipad (IOS)
Grama de terreno mudou textura e não consigo identificar o motivo
Como usar o Unity Monetization 3.0.1?
Marcha
Paint
[Asset Grátis] - Key gratuita para "Easy Mesh Combiner" para quem avalia-lo!
problemas com admob no Android Studio
Coroutine ou Invoke - qual tem melhor desempenho
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Movimentação RigidBody 2D visto de cima
[RESOLVIDO] Gerador de senha
[RESOLVIDO] Ajustar movimentação da câmera
[RESOLVIDO] Alterar função no Event Trigger
[RESOLVIDO] pivot do sprite camera (objeto nao aparece)
gerar score por movimento
[RESOLVIDO] Como encontrar um script em um determinado objeto
[Sorteio] - Sorteio de uma Key gratuita para um dos meus assets!
Transparência em múltiplos sprites
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
SAVE ME - Game em desenvolvimento para estudo.
Comandos touch
Fontes de sprites em pixel art
Rescale ou Redimenção da imagem.
[RESOLVIDO] Animação Em Legacy
Hoje à(s) 3:21 am
Ontem à(s) 10:15 pm
Ontem à(s) 9:29 pm
Ontem à(s) 9:19 pm
Ontem à(s) 8:52 pm
Ontem à(s) 8:49 pm
Ontem à(s) 8:47 pm
Ontem à(s) 8:39 pm
Ontem à(s) 8:33 pm
Ter Mar 19, 2019 10:03 pm
Ter Mar 19, 2019 1:50 pm
Ter Mar 19, 2019 7:03 am
Ter Mar 19, 2019 6:23 am
Ter Mar 19, 2019 6:02 am
Seg Mar 18, 2019 6:48 pm
Seg Mar 18, 2019 3:39 pm
Seg Mar 18, 2019 3:28 pm
Seg Mar 18, 2019 1:00 pm
Seg Mar 18, 2019 4:31 am
Dom Mar 17, 2019 3:43 pm
Sab Mar 16, 2019 5:11 pm
Sab Mar 16, 2019 4:37 pm
Sab Mar 16, 2019 3:48 pm
Sex Mar 15, 2019 8:34 pm
Sex Mar 15, 2019 6:40 pm
Sex Mar 15, 2019 3:09 pm
Sex Mar 15, 2019 9:32 am
Sex Mar 15, 2019 9:27 am
Qui Mar 14, 2019 9:55 pm
Qui Mar 14, 2019 9:50 pm
Qui Mar 14, 2019 9:45 pm
Qui Mar 14, 2019 9:44 pm
Qui Mar 14, 2019 9:42 pm
Qui Mar 14, 2019 9:38 pm
Qui Mar 14, 2019 9:00 pm
Qui Mar 14, 2019 8:54 pm
Qui Mar 14, 2019 8:33 pm
Qui Mar 14, 2019 8:29 pm
Qui Mar 14, 2019 5:06 pm
Qui Mar 14, 2019 3:39 pm
Qua Mar 13, 2019 5:30 pm
Ter Mar 12, 2019 2:54 pm
Ter Mar 12, 2019 1:08 am
Seg Mar 11, 2019 10:21 pm
Seg Mar 11, 2019 1:25 pm
Seg Mar 11, 2019 11:51 am
Seg Mar 11, 2019 12:35 am
Dom Mar 10, 2019 9:49 pm
Dom Mar 10, 2019 8:20 pm
Dom Mar 10, 2019 5:47 pm
Dom Mar 10, 2019 5:21 pm
Dom Mar 10, 2019 2:12 pm
Sab Mar 09, 2019 7:50 pm
Sab Mar 09, 2019 12:18 pm
Sex Mar 08, 2019 6:55 pm
Sex Mar 08, 2019 2:40 pm
Qui Mar 07, 2019 12:19 pm
Qui Mar 07, 2019 12:12 pm
Qui Mar 07, 2019 11:59 am
Qui Mar 07, 2019 11:12 am
Qui Mar 07, 2019 1:29 am
Qua Mar 06, 2019 10:32 pm
Qua Mar 06, 2019 5:37 pm
Qua Mar 06, 2019 1:21 pm
Ter Mar 05, 2019 2:53 pm
Seg Mar 04, 2019 7:39 pm
Seg Mar 04, 2019 5:44 pm
Seg Mar 04, 2019 2:38 pm
Dom Mar 03, 2019 7:45 pm
Sab Mar 02, 2019 8:34 pm
Sab Mar 02, 2019 7:45 pm
Sab Mar 02, 2019 12:46 am
Sex Mar 01, 2019 10:52 pm
Sex Mar 01, 2019 4:43 pm
Sex Mar 01, 2019 4:31 pm
Sex Mar 01, 2019 12:52 pm
Qui Fev 28, 2019 9:30 pm
Qua Fev 27, 2019 8:30 pm
Qua Fev 27, 2019 11:05 am
Qua Fev 27, 2019 10:57 am
Ter Fev 26, 2019 6:33 pm
Ter Fev 26, 2019 10:37 am
Seg Fev 25, 2019 9:08 pm
Seg Fev 25, 2019 5:12 pm
Seg Fev 25, 2019 3:44 pm
Seg Fev 25, 2019 10:56 am
Sab Fev 23, 2019 5:41 pm
Sab Fev 23, 2019 5:26 pm
Sex Fev 22, 2019 6:39 pm
Sex Fev 22, 2019 3:40 pm
Qua Fev 20, 2019 4:48 pm
Qua Fev 20, 2019 4:42 pm
Qua Fev 20, 2019 4:41 pm
Qua Fev 20, 2019 4:40 pm
Qua Fev 20, 2019 12:11 pm
Qua Fev 20, 2019 10:15 am
Ter Fev 19, 2019 11:31 pm
Ter Fev 19, 2019 1:14 pm
Ter Fev 19, 2019 12:40 pm
Encracker
Duarte
fabricadegame
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
fabricadegame
Akuma97
Magnatah
Magnatah
Magnatah
luiz12345
rejão
Zack2
Zack2
MarcosSchultz
luiz12345
henriquegames501
lesgoy
MiguelLuiz
Diego Felix
Lteo
diegopds
Diego Felix
Magnatah
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Isabela
Isabela
Annko
juniorhotes
MarcosSchultz
Weslley
Daniel Dória
juniorhotes
lesgoy
lucaslbatista
Flávio
Magnatah
diegopds
MayLeone
glauco
dimmuo
AnderGames
Unidade3d5
arthurunity
artplayer
diegopds
zeca urubu
Daniel Dória
AnderGames
MarcosSchultz
Alanigma
ffabim
Flávio
Flávio
Manawydan
rafaelllsd
Lteo
dimmuo
MateusPignatti
Madness
dstaroski
dstaroski
dstaroski
Madness
Madness
marcos4503
marcos4503
Flávio
kirito37
DuViDoSo
Flávio
rafaelholanda
numb123
adenilson romao
adenilson romao
adenilson romao
marcos4503
Selzler
dstaroski
dstaroski
dstaroski
JohnRambo
marcos4503
Flávio
marcos4503
marcos4503

[RESOLVIDO] Inimigo patrulhando constantemente estilo mario

Ir em baixo

Resolvido [RESOLVIDO] Inimigo patrulhando constantemente estilo mario

Mensagem por MrMattD em Ter Out 30, 2018 10:43 pm

Boa noite pessoal,
Estou trabalhando num jogo 2D e queria que o meu inimigo patrulhasse uma área predeterminada, eu consegui fazer ele andar por toda ela, o problema é que ele faz isso parecendo os inimigos do Mario, ele simplesmente vai e volta durante todo o percurso, eu queria que ele parasse nas extremidades pra dar tempo do Player fazer alguma "feature" atrás, porém, ele não consegue fazer isso. Estou usando o código abaixo:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Patrulha : MonoBehaviour {

    private Rigidbody2D rb; //rigidbody do inimigo
    private bool olhandoParaDireita; //variavel para verificar se o personagem está olhando para a direita
    public float velocidade, distancia; //variaveis de controle
    public Transform DetectaChao; // variavel para verificar o chão



    void Start () {
        rb = GetComponent<Rigidbody2D> ();
    }
   
    void Update () {
        transform.Translate(Vector2.right * velocidade * Time.deltaTime); //faz o personagem começar a andar
        RaycastHit2D groundInfo = Physics2D.Raycast(DetectaChao.position, Vector2.down, distancia); //verifica constantemente se o personagem está ou não sobre a plataforma
        if (groundInfo.collider == false) //se não
        {
            transform.Translate (new Vector2(-1,0) * velocidade * Time.deltaTime); //para o personagem
            rb.velocity = new Vector2(0,0); //outro codigo pra parar o personagem por motivos de só o de cima não funcionava
            StartCoroutine (Wait()); //começa uma CoRotina
        }
    }



    IEnumerator Wait(){
        yield return new WaitForSeconds (5); //Espera 5 segundos antes de continuar o código;
        Debug.Log ("CHEGOU"); //verificando se a CoRotina está funcionando
        StopCoroutine (Wait()); //finaliza a CoRotina
    }

    void virar (){
        if (olhandoParaDireita == true) {
            transform.eulerAngles = new Vector3 (0, -180, 0); //vira o persoanagem para a esquerda
            olhandoParaDireita = false;
            transform.Translate (Vector2.right * velocidade * Time.deltaTime); //faz o personagem andar
        } else {
            transform.eulerAngles = new Vector3 (0, 0, 0); //vira o personagem para a direita
            olhandoParaDireita = true;
            transform.Translate (Vector2.right * velocidade * Time.deltaTime); //faz o personaegem andar
        }
    }
}

Se alguém puder me ajudar por favor.

MrMattD
Iniciante
Iniciante

PONTOS : 393
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Inimigo patrulhando constantemente estilo mario

Mensagem por MarcosSchultz em Qui Nov 01, 2018 2:22 am

Isso tudo você vai ter que criar a gosto no código... pode ser com IENumerator, fazendo uma rotina de comportamento sequencial, ou pode ser com base em Random.Range pra gerar comportamentos aleatórios. 

Aconselho ver a minha série de C#... você realmente vai ter que programar a rotina a gosto mesmo.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 61522
REPUTAÇÃO : 2167
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Inimigo patrulhando constantemente estilo mario

Mensagem por MrMattD em Qui Nov 01, 2018 8:28 pm

@MarcosSchultz escreveu:Isso tudo você vai ter que criar a gosto no código... pode ser com IENumerator, fazendo uma rotina de comportamento sequencial, ou pode ser com base em Random.Range pra gerar comportamentos aleatórios. 

Aconselho ver a minha série de C#... você realmente vai ter que programar a rotina a gosto mesmo.

Na verdade o código esta "funcionando", porém o que acontece é que o código do Update não para quando o IEnumerator começa, então a variável continua verificando e quando os 5 segundos passam ela dispara de uma vez girando o personagem loucamente. Tem alguma maneira de eu fazer o Update para enquanto ele esta esperando? Pensei em desligar o Raycast enquanto não voltar para o código, porém, não tenho certeza de como fazer nenhum dos dois.

MrMattD
Iniciante
Iniciante

PONTOS : 393
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Inimigo patrulhando constantemente estilo mario

Mensagem por MarcosSchultz em Sex Nov 02, 2018 4:32 am

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(Rigidbody2D))]
public class Patrulha : MonoBehaviour{

    Rigidbody2D rb2D;
    bool direita, parado;
    public float velocidade = 1.5f;
    public float posicX1 = -2, posicX2 = 2;

    void Start(){
        direita = parado = false;
        rb2D = GetComponent<Rigidbody2D>();
    }

    void Update(){
        if (!parado){
            if (direita){
                rb2D.velocity = (Vector2.right * velocidade * rb2D.mass);
                if (transform.position.x > posicX2){
                    StartCoroutine("Esperar5Segundos");
                }
            }
            else{
                rb2D.velocity = (-Vector2.right * velocidade * rb2D.mass);
                if (transform.position.x < posicX1){
                    StartCoroutine("Esperar5Segundos");
                }
            }
        }
    }
    IEnumerator Esperar5Segundos(){
        rb2D.velocity = Vector2.zero;
        parado = true;
        yield return new WaitForSeconds(5);
        parado = false;
        direita = !direita;
    }
}
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 61522
REPUTAÇÃO : 2167
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Inimigo patrulhando constantemente estilo mario

Mensagem por MrMattD em Sex Nov 02, 2018 3:27 pm

@MarcosSchultz escreveu:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(Rigidbody2D))]
public class Patrulha : MonoBehaviour{

    Rigidbody2D rb2D;
    bool direita, parado;
    public float velocidade = 1.5f;
    public float posicX1 = -2, posicX2 = 2;

    void Start(){
        direita = parado = false;
        rb2D = GetComponent<Rigidbody2D>();
    }

    void Update(){
        if (!parado){
            if (direita){
                rb2D.velocity = (Vector2.right * velocidade * rb2D.mass);
                if (transform.position.x > posicX2){
                    StartCoroutine("Esperar5Segundos");
                }
            }
            else{
                rb2D.velocity = (-Vector2.right * velocidade * rb2D.mass);
                if (transform.position.x < posicX1){
                    StartCoroutine("Esperar5Segundos");
                }
            }
        }
    }
    IEnumerator Esperar5Segundos(){
        rb2D.velocity = Vector2.zero;
        parado = true;
        yield return new WaitForSeconds(5);
        parado = false;
        direita = !direita;
    }
}

Muito obrigado, funcionou exatamente como eu pensei. Me senti até besta por não ter pensado nisso antes...
Muito obrigado mesmo

MrMattD
Iniciante
Iniciante

PONTOS : 393
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

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