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:
Personagem seguir o jogador
[RESOLVIDO] Duvida nas versões da unity
Dúvida sobre OnTriggerEnter
Começar com 2D ou 3D?
Unity Multiplayer Sync date e Save date
OnTriggerEnter/Exit não é identificada
ASSET DO NOSSO GRANDE MARCOS: PROMOÇÃO NA ASSET STORE DA UNITY
Dano
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Criar simulador
Qual versão do JDK, NDK E SDK o Unity Hub recomenda para Unity 2019.2.12f1 (64-bit)?
Rotação de roda
Dark Dreams Reborn 1.7.2
Hyper casual game
Objeto seguindo o jogador
Alguém consegue me explicar essa matemática?
Forma abreviada para Propriedades
[Formação de Equipe] Battles of Worlds
[Em Desenvolvimento] Battles of Worlds
inimigo não anda após animação
[ANDROID] ROLEPLAY ONLINE PARA MOBILE
Artigo: Você sabe o que é "asset flipping"?
To querendo Fazer Sistema Questing
Abrir Projeto exportado na 2018.4.LTS
Como faço para uma plataforma cair ao player colidir com ela?
Verificar se um objeto já foi instanciado via Script???
O SANATÓRIO
Dúvida sobre criar uma barra de pesquisa
problema com rolagem de texto
[TUTORIAL]Converter para a Unity
Particulas Preta
Como fazer para interagir um objeto com um outro objeto [Estilo Granny]
criação de tabela comm filtro
NOTAS DO JOGO
Substituir o Visual Studio
[RESOLVIDO] ERRO AO COMPILAR JOGO
COLETAR ITENS
Como identificar o tipo de vegetação que o player está interagindo?
Sistema de Yu-Gi-Oh -Spells adicionadas + Novidades
Player encostar no inimigo e morrer
Lançooou Pessoal, joguem para me dar uma força GAME TOP DEMAIS
O forum poderia fazer uma game jam
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Dúvida sobre desbloquear um nível ao terminar o anterior
Iluminação bugada
Animação de morte
Mudar Scene quando o player colidir com um trigger
Collision e Trigger para Audio
Modelador 3D disponível
chamando animaçao depois de um tempo
Animação de Ataque
[TUTORIAL] Como fazer uma Barra de Loading na Unity 5
[RESOLVIDO] Problema com visual studio
Inimigo seguir o player
Projeto Quiz Ajuda
Problemas com movimentação do personagem [AJUDA]
(Duvida) Anúncios teste AdMobe na unity
Erro de Luz
Usar Google Play Games ou (outra forma) para subir dados do jjogador.
[TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!
Destruir todos os objetos em cena.
Deixar anuncio carregado para outras scenes é possivel?
[RESOLVIDO] Limite de renderização das texturas
Referenciação de uma classe dentro da própria classe
Unity + Photon 2
APPODEAL no ADMOB
Pergunta sobre o Time.deltaTime
[JAVASCRIPT] Problemas com Variavel
Jogo Rani, por Adenilson Romao [WINDOWS / ANDROID]
Salvar cena
Preciso de um pouco de feedback nessa ideia
TIRAR O DELAY DO BUTTON ONCLICK
Problemas com materials
[Projeto] Omega Racers - Steam Acesso antecipado
Dúvida na implementação do unity iap
Meu game para Android " As aventuras de Steff " Finalizado!
SCRIPT SUSTO
Melhor formato para exportar modelo 3D??
A pasta editor não esta na pasta Assets no unity 2018
Orion Fight Z - Online [Procurando Equipe]
DÚVIDA Material do Player(CLONE)
NÃO SEI MAIS OQUE FAÇO NESSA SITUACAO
Ativar gameobject através de pontuacao por meio de comparacao com outro valor int
Otimização
MOUSE NA TELA
Ola sou programador e preciso da sua ajuda!!
ABRIR E FECHAR GAVETAS
LANÇAMENTO TRAILLER DARK DREAMS REBORN
DUVIDA ADMOB NA PLAYSTORE
[RESOLVIDO] goto ou void ?
O que acrescentar no script para fazer o personagem morrer??
Duvida sobre com.package.productname
[Formação de Equipe] Jogo de Luta Livre/Telecatch
Meu script de Movimento não deixa meu script do Pulo duplo funcionar.
(Duvida) Salvando array com playerprefs
[RESOLVIDO] Criar Apk Android 64 .aab
Não consigo destruir o objeto!!!
Navmesh
Gravidade do personagem está muito lenta.
Hoje à(s) 12:17 am
Ontem à(s) 11:57 pm
Ontem à(s) 11:52 pm
Ontem à(s) 10:02 pm
Ontem à(s) 8:38 pm
Ontem à(s) 6:27 pm
Ontem à(s) 6:12 pm
Ontem à(s) 3:42 pm
Ontem à(s) 2:53 pm
Ontem à(s) 10:47 am
Dom Dez 08, 2019 11:59 pm
Dom Dez 08, 2019 9:44 pm
Dom Dez 08, 2019 3:32 pm
Dom Dez 08, 2019 5:41 am
Sab Dez 07, 2019 10:31 pm
Sab Dez 07, 2019 8:09 pm
Sab Dez 07, 2019 7:35 pm
Sab Dez 07, 2019 12:35 pm
Sab Dez 07, 2019 12:31 pm
Sab Dez 07, 2019 4:36 am
Sab Dez 07, 2019 3:07 am
Sex Dez 06, 2019 10:50 pm
Sex Dez 06, 2019 4:25 pm
Sex Dez 06, 2019 2:40 pm
Sex Dez 06, 2019 7:53 am
Sex Dez 06, 2019 7:51 am
Qui Dez 05, 2019 5:50 pm
Qui Dez 05, 2019 3:22 pm
Qua Dez 04, 2019 3:39 pm
Qua Dez 04, 2019 3:14 pm
Qua Dez 04, 2019 3:08 pm
Qua Dez 04, 2019 3:02 pm
Qua Dez 04, 2019 2:37 pm
Qua Dez 04, 2019 1:34 pm
Qua Dez 04, 2019 10:40 am
Qua Dez 04, 2019 9:07 am
Ter Dez 03, 2019 10:34 pm
Ter Dez 03, 2019 7:09 pm
Ter Dez 03, 2019 6:55 pm
Ter Dez 03, 2019 10:14 am
Seg Dez 02, 2019 9:40 pm
Seg Dez 02, 2019 4:33 pm
Seg Dez 02, 2019 3:12 pm
Seg Dez 02, 2019 2:35 pm
Seg Dez 02, 2019 2:00 pm
Dom Dez 01, 2019 8:21 pm
Dom Dez 01, 2019 6:40 pm
Dom Dez 01, 2019 2:32 pm
Dom Dez 01, 2019 12:32 pm
Sab Nov 30, 2019 9:18 pm
Sab Nov 30, 2019 8:28 pm
Sab Nov 30, 2019 5:52 pm
Sab Nov 30, 2019 5:14 pm
Sab Nov 30, 2019 1:34 pm
Sex Nov 29, 2019 7:06 pm
Sex Nov 29, 2019 4:41 pm
Sex Nov 29, 2019 12:23 pm
Sex Nov 29, 2019 11:56 am
Qui Nov 28, 2019 10:42 pm
Qui Nov 28, 2019 10:19 pm
Qui Nov 28, 2019 8:38 pm
Qui Nov 28, 2019 12:02 pm
Qua Nov 27, 2019 11:44 am
Qua Nov 27, 2019 11:42 am
Qua Nov 27, 2019 12:41 am
Ter Nov 26, 2019 3:58 pm
Seg Nov 25, 2019 5:07 pm
Seg Nov 25, 2019 10:46 am
Seg Nov 25, 2019 8:57 am
Seg Nov 25, 2019 1:23 am
Seg Nov 25, 2019 1:09 am
Dom Nov 24, 2019 7:16 pm
Dom Nov 24, 2019 5:52 pm
Dom Nov 24, 2019 12:46 pm
Dom Nov 24, 2019 11:50 am
Dom Nov 24, 2019 1:18 am
Sab Nov 23, 2019 11:49 pm
Sab Nov 23, 2019 10:15 pm
Sab Nov 23, 2019 5:18 pm
Sab Nov 23, 2019 4:50 pm
Sab Nov 23, 2019 2:39 am
Sab Nov 23, 2019 2:18 am
Sab Nov 23, 2019 1:32 am
Sab Nov 23, 2019 1:30 am
Sex Nov 22, 2019 11:25 pm
Sex Nov 22, 2019 3:43 pm
Sex Nov 22, 2019 3:09 pm
Sex Nov 22, 2019 10:17 am
Sex Nov 22, 2019 10:02 am
Qui Nov 21, 2019 10:48 pm
Qui Nov 21, 2019 4:37 pm
Qui Nov 21, 2019 4:27 pm
Qui Nov 21, 2019 1:04 pm
Qui Nov 21, 2019 9:12 am
Qua Nov 20, 2019 11:36 pm
Qua Nov 20, 2019 10:15 pm
Qua Nov 20, 2019 9:40 pm
Qua Nov 20, 2019 9:36 pm
Qua Nov 20, 2019 9:31 pm
Fagner
poyser
poyser
guimaraf
artplayer
poyser
fabricadegame
poyser
Fagner
Fagner
Daniel Dória
lolhard
Fagner
nvndx
Flávio
Hamassfall
Flávio
Dom3000
Dom3000
vitor emanuel
fecirineu
thales.ulisses
billybmx
gtcmcsgo
Valakinhas
Valakinhas
bertarele
pedrogabriel00
Fagner
Fagner
AnderGames
AnderGames
Fagner
Fagner
Oswaldo de Carvalho Filho
bertarele
Callyde Jr
richerd
MayLeone
RafaelSquid1
Encracker
RafaelSquid1
JohnRambo
Lester3422
Lester3422
Edivandro2706
luizrbizzio
luizrbizzio
ovoPentelho
Flávio
Edivandro2706
Manito01
Flávio
Flávio
Chilinger
Chilinger
poyser
Magnatah
danielPedra90
danielPedra90
NKKF
RafaelSquid1
cosmoplay
Hamassfall
guimaraf
gtcmcsgo
Fagner
Wanderli
adenilson romao
RafaelSquid1
guimaraf
NKKF
Edivandro2706
PauloFR
eduardonog30
SergioDB
MayLeone
PauloFR
Lester3422
Diguinho
FabioDev
JohnRambo
joffersoju
JohnRambo
leonardolopes
MayLeone
bertarele
PauloFR
gtcmcsgo
Fagner
JohnRambo
JohnRambo
guimaraf
teos626
poyser
SergioDB
MarcosSchultz
MarcosSchultz
MarcosSchultz

Como faço um pulo de colisão?

Ir em baixo

DÚVIDA Como faço um pulo de colisão?

Mensagem por mydaegon em Qui Set 19, 2019 11:35 pm

Boa noite, estou fazendo um game de plataforma 2D, onde o personagem tem 3 vidas, e que a cada dano que tome perca uma vida. O sistema de vida já está formulado, mas eu preciso que quando encostar em um inimigo ele dê um pulo para trás do impacto da colisão, como nos jogos classicos ao tomar dano.
eu tentei usar um add force com força no X e Y para ele dar um pulo como se fosse na diagonal, mas de todas as maneiras que tentei, ou ele teleporta ou fica parado, não ocorre realmente a força que faça esse impulso. Alguem tem alguma ideia de como posso fazer?

mydaegon
Iniciante
Iniciante

PONTOS : 106
REPUTAÇÃO : 0
Respeito as regras : Como faço um pulo de colisão? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por JohnRambo em Sex Set 20, 2019 1:11 pm

Poste seu script, amigo.
JohnRambo
JohnRambo
Moderador

Masculino PONTOS : 3201
REPUTAÇÃO : 591
Idade : 19
Áreas de atuação : Unity;
Programação;
Modelagem;
Música e Sonorização;
Cursando Análise e Desenvolvimento de Sistemas;
Respeito as regras : Como faço um pulo de colisão? Aad8pUi

https://www.jbstudioe.com/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por mydaegon em Sex Set 20, 2019 1:17 pm

Não estou com nenhuma função no script para fazer isso, mas este é o script:

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private Rigidbody2D playerRB;
    private float horizontal;
    private SpriteRenderer playerSR;
    private bool Andando, Pulando, Correndo, Atacando, CanAttack;
    private bool Grounded;
    private Animator PlayerAnimator;
    public GameObject Pe;
    public BoxCollider2D Espada;
    public LayerMask Ground;
    private Animator Anim;
    private bool Morreu;
    [Header("Atribuição de Valores")]
    public Transform A;
    public float Velocidade, VelocidadeInicial, VelocidadeBuffada, ForcaPulo, DuracaoDoAtaque;
    public int Vida;


    void Start()
    {

        playerRB = GetComponent<Rigidbody2D>();
        playerSR = GetComponent<SpriteRenderer>();
        CanAttack = true;
        PlayerAnimator = GetComponent<Animator>();
        Anim = GetComponent<Animator>();
        Morreu = false;
    }


void Update()
{
    PlayerAnimator.SetBool("Morreu", Morreu);
    PlayerAnimator.SetBool("Andando", Andando);
    PlayerAnimator.SetBool("Grounded", Grounded);
    PlayerAnimator.SetBool("Pulando", Pulando);
    PlayerAnimator.SetBool("Atacando", Atacando);
    Grounded = Physics2D.OverlapCircle(Pe.transform.position, 0.02f, Ground);
    horizontal = Input.GetAxisRaw("Horizontal");

    if (Morreu == false)
    {
        playerRB.velocity = new Vector2(horizontal * Velocidade, Pe.transform.position.y);
    }

    if (Grounded == true)
    {
        Pulando = false;
    }
    else
    {
        Pulando = true;
    }

    if (Velocidade == VelocidadeBuffada)
    {
        Correndo = true;

        if (Correndo == true && Grounded == true && Atacando == false)
        {
            Anim.speed = 2;
        }
        else
        {
            Anim.speed = 1;
        }

        }
        else
        {
            Correndo = false;
            Anim.speed = 1;
        }

        if (horizontal == 1 && Morreu == false)
        {
            playerSR.flipX = false;
        }

        if (horizontal == -1 && Morreu == false)
        {
            playerSR.flipX = true;
        }

        if (horizontal != 0)
        {
            Andando = true;
        }
        else
        {
            Andando = false;
        }

        if (Vida <= 0 && Morreu == false)
        {
            Morreu = true;
            StartCoroutine(Morte());
        }

        if (Input.GetButton("Correr"))
        {
            Velocidade = VelocidadeBuffada;
        }
        else
        {
            Velocidade = VelocidadeInicial;
        }

        if (Input.GetButtonDown("Jump") && Grounded == true && Morreu == false)
        {
            Pulo();
        }

        if (Input.GetButtonDown("Fire1") && CanAttack == true && Morreu == false)
        {
            CanAttack = false;
            StartCoroutine(Ataque());
        }

    }


    void Pulo()
    {
        Pulando = true;
        playerRB.AddForce(new Vector2(0, ForcaPulo));
    }


    IEnumerator Ataque()
    {
        if (Pulando == false)
        {
            Atacando = true;
            Espada.enabled = true;
            yield return new WaitForSeconds(DuracaoDoAtaque);
            Espada.enabled = false;
            Atacando = false;
        }

        if (Pulando == true)
        {
            Atacando = true;
            Espada.enabled = true;
            yield return new WaitForSeconds(DuracaoDoAtaque - 0.1f);
            Espada.enabled = false;
            Atacando = false;
        }

        CanAttack = true;
    }


    IEnumerator Morte()
    {
        yield return new WaitForSeconds(3.5f);
        print("Morreu");
    }
}


Quero testar colocando no Ienumerator de Ataque o Pulo pra trás, e se der certo, eu crio o lugar correto para quando acontecer, mas não tenho ideia do que eu posso usar para fazer esse impulso. Eu tentei algo parecido com Rigidbody2D.AddForce(new vector2(200, 200);, para aplicar força para o alto e para frente, porém está teleportando. Alem de que no vetor X, eu precisei colocar uma força de 1000 para ele teleportar, por que menor ele só ficava parado.


Última edição por Magnatah em Sex Set 20, 2019 1:46 pm, editado 1 vez(es) (Razão : Coloque os Script na Área de Scripts. (Ajuda Bastante Para Ambos os Lados))

mydaegon
Iniciante
Iniciante

PONTOS : 106
REPUTAÇÃO : 0
Respeito as regras : Como faço um pulo de colisão? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por mydaegon em Sex Set 20, 2019 1:23 pm

Eu quero algo como nos jogos do sonic, que ao ele encostar em um inimigo, perca vida ( A vida já perde) e de um pulo de impulso, como neste vídeo aos 0:44 segundos.

mydaegon
Iniciante
Iniciante

PONTOS : 106
REPUTAÇÃO : 0
Respeito as regras : Como faço um pulo de colisão? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por JohnRambo em Sex Set 20, 2019 1:30 pm

Entendi... Acho que já sei qual é o erro aí.

O AddForce precisa ter um multiplicador, por exemplo, no Super mario, quando você pula em um inimigo, o inimigo morre e o mario dá mais um pulo para cima. Isto seria feito assim:

Código:
playerRB.AddForce (Vector2.up * 10);

experimente usar esta sintaxe, deve funcionar.
JohnRambo
JohnRambo
Moderador

Masculino PONTOS : 3201
REPUTAÇÃO : 591
Idade : 19
Áreas de atuação : Unity;
Programação;
Modelagem;
Música e Sonorização;
Cursando Análise e Desenvolvimento de Sistemas;
Respeito as regras : Como faço um pulo de colisão? Aad8pUi

https://www.jbstudioe.com/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por mydaegon em Sex Set 20, 2019 1:38 pm

Vou tentar, mas pelo que eu entendi, essa sintaxe vai fazer ele dar um pulo apenas né? O que eu poderia colocar para que esse o personagem pule para trás?

mydaegon
Iniciante
Iniciante

PONTOS : 106
REPUTAÇÃO : 0
Respeito as regras : Como faço um pulo de colisão? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por JohnRambo em Sex Set 20, 2019 1:41 pm

O jogo é 2D né? nesse caso poderia usar um Vector2.left
JohnRambo
JohnRambo
Moderador

Masculino PONTOS : 3201
REPUTAÇÃO : 591
Idade : 19
Áreas de atuação : Unity;
Programação;
Modelagem;
Música e Sonorização;
Cursando Análise e Desenvolvimento de Sistemas;
Respeito as regras : Como faço um pulo de colisão? Aad8pUi

https://www.jbstudioe.com/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por mydaegon em Sex Set 20, 2019 2:04 pm

Eu tentei usar este comando e aconteceu o mesmo, ao inves de aparecer o personagem pulando para tras, ele pula normalmente pro alto, porém ao invés que pular para trás ele dá um teleporte. Poderia ser alguma opção da Unity? Porque até em alguns tutoriais parece que o Script está certo

mydaegon
Iniciante
Iniciante

PONTOS : 106
REPUTAÇÃO : 0
Respeito as regras : Como faço um pulo de colisão? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por MayLeone em Sex Set 20, 2019 3:09 pm

Teleporte? Vc está colocando o AddForce no IEnumerator ou dentro do FixedUpdate?
Tudo o que é relacionado à física, Rigidbody, Joins, e etc.. deve ser colocado no FixedUpdate.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1384
REPUTAÇÃO : 360
Áreas de atuação : Unity & C#
Respeito as regras : Como faço um pulo de colisão? Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por mydaegon em Sex Set 20, 2019 3:14 pm

Eu nao sei bem a diferença, mas eu Coloquei no Update e não no FixedUpdate, faz diferença?

mydaegon
Iniciante
Iniciante

PONTOS : 106
REPUTAÇÃO : 0
Respeito as regras : Como faço um pulo de colisão? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por mydaegon em Sex Set 20, 2019 3:15 pm

Ah nao, achei que fosse dentro do Update, mas realmente, é dentro de um Ienumerator

mydaegon
Iniciante
Iniciante

PONTOS : 106
REPUTAÇÃO : 0
Respeito as regras : Como faço um pulo de colisão? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como faço um pulo de colisão?

Mensagem por MayLeone em Sex Set 20, 2019 3:17 pm

Faz sim!
O Update é chamado dependendo do FPS do jogo, são chamadas irregulares, tanto que precisa sempre multiplicar algum valor por Time.DeltaTime para tentar corrigir .

O FixedUpdate existe justamente para corrigir essa irregularidade, é usado para trabalhar com componentes de física e cálculos muito pesados porque é chamado num número fixo de vezes. A própria documentação da Unity recomenda usar o FixedUpdate para trabalhar com Rigidbody.

Referência: https://docs.unity3d.com/ScriptReference/MonoBehaviour.FixedUpdate.html
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1384
REPUTAÇÃO : 360
Áreas de atuação : Unity & C#
Respeito as regras : Como faço um pulo de colisão? Aad8pUi

http://compilemosfacil.blogspot.com.br

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