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:
Imagem excedendo o limite da tela. Como resolver?
Problema mudar de sprite sempre que seja adicionado um novo sprite a lista
Informação Importante sobre o Edge Collider 2D
Como consigo aquele efeito de lanterna imagem abaixo
Como desativar e habilitar o Skinned MeshRenderer?
Como abrir uma empresa de games?
Como posso usar a função OnClick nesse script
[TUTORIAL] Como carregar uma cena em segundo plano?
[Tutorial] Sistema de Combos (Mobile e PC)
Como se faz um sistema de combo pra mobile
Personagem sofre dando e continua de onde parou com condição.
Jogador pode escolher que tipo de pos processamento usar nas configurações?
Como Abrir Porta do Carro (Capo,PortaMalas, Portas) Mirando Nelas
[RESOLVIDO] Várias faixas de música
[RESOLVIDO] int Random.Range(int min, int max) para geração procedural ?
Como fazer o som funcionar de acordo com a velocidade do objeto
Alto falante Vibrar
[RESOLVIDO] Luz no interior
[TUTORIAL] Como Fazer com que as Luzes Iluminem apenas o que você deseja
Traduções e Dublagens de games
[RESOLVIDO] Cono mudar a Tag por script?
[RESOLVIDO] Qualidade do sprite - Compression
[TUTORIAL] Unity 3D - AnimationCurve
Rotação de um gameobject sem que os gameobjects filhos se alterem?
Colocar video no unity
[RESOLVIDO] Partículas com imagem
[RESOLVIDO] DUVIDA SOBRE ATIVAR UM GAMEOBJECT ATRAVÉS DE UMA CONDIÇÃO
NavMesh não consegue reproduzir sprits de um jogador
NavMesh não faz animação do jogador
Bom dia amigos compro assets do meu interesse!
Criar Ranking Online
[TUTORIAL] ScrollView rapida e facil de fazer
colocar imagem no fórum
Unity ou Game Maker Studio
[TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Error CS0246, não sei o que fazer
Como faço pra um colisor não reconhecer outro colisor sem usar IsTrigger
[RESOLVIDO] Alteração de nomes e rastreamento das mudanças
Som unity
CHAVE DE ASSINATURA
[TUTORIAL]identificar se está no controle ou teclado
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Não estou conseguindo ativar o evento do onClick após instanciar o botão
Exportar Modelo 3D da Unity
Duvida sobre Spawn
Dúvida sobre volatile
[UE4] Por favor me digam como me livrar do motion blur!
[RESOLVIDO] Float to transform
[RESOLVIDO] mudar a cor quando a personagem passa
Como ativar um 'Panel'
Como faço pra desligar e ligar outro text?
Como Faço Para Ativar/Desativar Material Por Script ?
como modificar o script para receber e registar o dano no personagem
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Meu personagem está tomando repulsão da parede
Problemas com IEnumerator
Meu personagem ta tremendo quando toca em alguma coisa
[TUTORIAL] Como criar tiro no Unity usando Raycast
Scripts travados
Como faço para mudar a posição de um objeto para perto de outro.
Alteração de personagens durante o jogo // parte 2
Como se faz uma grid, apenas e somente uma grid em 3D?
meu primeiro jogo pronto
quero corverter uma int em string
Como mudar a posição de um objeto constantemente sem estar na void Update
Como conseguir fazer para minha moto dar grau
[RESOLVIDO] Alteração de personagens durante o jogo
Como fazer um retrovisor leve para android?
Preciso de um script para andar de moto alguem consegue me ajudar
Como consigo fazer esse efeito de escurecer o ambiente ao atacar?
Como fazer pra selecionar um inimigo pra atacar de varios unity 2d
Setparent Photon
duvida em sistema de Horror de como pegar e solta objeto
[UE4] Como fazer cutscene com o próprio personagem?
Plataforma Flutuante
OS Tycoon (DEVLOG) - Crie seu próprio sistema operacional
[RESOLVIDO] Grande X vermelho
Como desativo o vsync em projeto para celular?
Como fazer uma compra aleatoria em uma cena
Sistema de propagação de fogo
[TUTORIAL] Como utilizar a função " Instantiate "
Inteligencia Artificial
Como faço pra deixar as luzes mais leves em um jogo 2d
[TUTORIAL] Unity 2019.4 ou superior - PRESETS
colocar Produtos na Playstore, procuro freelancer.
Tem como fazer o jogo forçar o hardware do celular para rodar melhor?
Como fazer efeito de digitação em um texto
[TUTORIAL] Texto suave (UI)
Box, Whell e outros Collider Esta vindo 10x maior que o Objeto
Objetos não respeitam script
[RESOLVIDO] Duvidas sobre dar restart na cena com Scene Management
Game Jam - GAME JAAJ 5 (prêmio 1.800 reais)
Ativar e desativar botão UI
[RESOLVIDO] Duvidas sobre o Canvas, preFabs e o collisor na Unity
Como fazer formas em ligths
Como usar e programar shaders no unity?
Como manipular o deslizamento do Player?
Problemas com UnityAds
[RESOLVIDO] Como fazer para meu Player andar por um terreno irregular?
Hoje à(s) 2:31 am
Hoje à(s) 2:18 am
Ontem à(s) 10:30 pm
Ontem à(s) 8:28 pm
Ontem à(s) 7:29 pm
Ontem à(s) 6:36 pm
Ontem à(s) 4:48 pm
Ontem à(s) 6:49 am
Seg Jan 18, 2021 11:39 pm
Seg Jan 18, 2021 10:35 pm
Seg Jan 18, 2021 9:31 pm
Seg Jan 18, 2021 3:35 pm
Seg Jan 18, 2021 10:47 am
Seg Jan 18, 2021 10:34 am
Dom Jan 17, 2021 10:54 pm
Dom Jan 17, 2021 6:28 pm
Dom Jan 17, 2021 2:07 pm
Dom Jan 17, 2021 12:21 pm
Dom Jan 17, 2021 11:19 am
Dom Jan 17, 2021 11:17 am
Dom Jan 17, 2021 11:15 am
Dom Jan 17, 2021 1:44 am
Sab Jan 16, 2021 6:40 pm
Sab Jan 16, 2021 3:39 pm
Sab Jan 16, 2021 2:35 pm
Sab Jan 16, 2021 11:43 am
Sab Jan 16, 2021 11:12 am
Sex Jan 15, 2021 8:20 pm
Sex Jan 15, 2021 1:39 am
Qui Jan 14, 2021 9:53 pm
Qui Jan 14, 2021 7:44 pm
Qui Jan 14, 2021 5:35 pm
Qui Jan 14, 2021 3:55 pm
Qui Jan 14, 2021 2:07 pm
Qui Jan 14, 2021 1:51 pm
Qui Jan 14, 2021 12:56 pm
Qua Jan 13, 2021 6:57 pm
Qua Jan 13, 2021 2:45 pm
Ter Jan 12, 2021 11:14 pm
Ter Jan 12, 2021 8:14 pm
Ter Jan 12, 2021 3:16 pm
Seg Jan 11, 2021 6:26 pm
Seg Jan 11, 2021 5:55 pm
Seg Jan 11, 2021 10:51 am
Dom Jan 10, 2021 7:18 pm
Dom Jan 10, 2021 6:21 pm
Dom Jan 10, 2021 3:24 pm
Dom Jan 10, 2021 2:31 pm
Dom Jan 10, 2021 2:29 pm
Dom Jan 10, 2021 10:44 am
Sab Jan 09, 2021 9:30 pm
Sex Jan 08, 2021 9:14 am
Sex Jan 08, 2021 7:07 am
Sex Jan 08, 2021 1:02 am
Sex Jan 08, 2021 12:33 am
Qui Jan 07, 2021 7:31 pm
Qui Jan 07, 2021 5:31 pm
Qui Jan 07, 2021 3:51 pm
Qui Jan 07, 2021 3:49 pm
Qui Jan 07, 2021 12:12 am
Qua Jan 06, 2021 7:40 pm
Qua Jan 06, 2021 4:57 pm
Qua Jan 06, 2021 7:36 am
Ter Jan 05, 2021 5:29 pm
Ter Jan 05, 2021 1:58 pm
Ter Jan 05, 2021 10:35 am
Ter Jan 05, 2021 5:22 am
Ter Jan 05, 2021 1:00 am
Ter Jan 05, 2021 12:02 am
Seg Jan 04, 2021 4:33 pm
Seg Jan 04, 2021 3:24 pm
Seg Jan 04, 2021 3:15 pm
Seg Jan 04, 2021 2:23 pm
Seg Jan 04, 2021 2:06 pm
Seg Jan 04, 2021 8:56 am
Dom Jan 03, 2021 8:18 pm
Dom Jan 03, 2021 9:48 am
Dom Jan 03, 2021 4:14 am
Sab Jan 02, 2021 10:11 pm
Sab Jan 02, 2021 8:36 pm
Sab Jan 02, 2021 8:34 pm
Sab Jan 02, 2021 3:36 pm
Sab Jan 02, 2021 11:45 am
Sab Jan 02, 2021 5:50 am
Sab Jan 02, 2021 2:37 am
Sex Jan 01, 2021 7:09 pm
Sex Jan 01, 2021 4:50 pm
Qui Dez 31, 2020 4:47 pm
Qui Dez 31, 2020 3:42 pm
Qui Dez 31, 2020 3:38 pm
Qui Dez 31, 2020 3:38 pm
Qui Dez 31, 2020 3:34 pm
Qui Dez 31, 2020 2:42 pm
Qui Dez 31, 2020 11:25 am
Qui Dez 31, 2020 10:08 am
Qui Dez 31, 2020 9:36 am
Qui Dez 31, 2020 12:14 am
Qua Dez 30, 2020 11:47 pm
Qua Dez 30, 2020 6:50 pm
verme1311
Xremix30
acefogo
Fagner
Vans 123
dutrabr100
Vans 123
amoraleite
Pokedlg
Pokedlg
acefogo
ProBrStalker
dutrabr100
Pokedlg
dutrabr100
Pokedlg
savtoi
dragongirl
dutrabr100
Rangel Oblivion
dutrabr100
JoelMJunior
MarcosSchultz
Fagner
SauloeArthur
dragongirl
dutrabr100
Ren Allen
Ren Allen
LucasGamerFx
SauloeArthur
NKKF
dutrabr100
SauloeArthur
Pokedlg
SauloeArthur
dutrabr100
Alexandre Santos
Pokedlg
starfreddybou69
diegopds
Super
dutrabr100
TIKO
dutrabr100
SauloeArthur
lesgoy
Fagner
Pokedlg
dutrabr100
Pokedlg
SauloeArthur
redPRO
glauco
Op3000
Pokedlg
JulioWinchester
SauloeArthur
SauloeArthur
Leozitu
Ren Allen
speedluk
SauloeArthur
BatataBugada54321
Pokedlg
Pokedlg
Ren Allen
Fagner
123
Pokedlg
macinhadeborracha
MRX
giowde
lesgoy
TIKO
Micco
Leonardo André
lesgoy
Moskeiro
Fagner
mama2401
Fagner
BRGC
fabricadegame
NyanHeavyBR
rafaelPortugal
dutrabr100
acefogo
MarcosSchultz
MarcosSchultz
acefogo
MarcosSchultz
BatataBugada54321
acefogo
brizaloka
Pokedlg
Neyuriki
Magnatah
Portela

[TUTORIAL] Double Jumping para games em 2D

Ir em baixo

TUTORIAL [TUTORIAL] Double Jumping para games em 2D

Mensagem por MayLeone em Dom Mar 10, 2019 1:56 pm

Olá, dessa vez resolvi postar um tutorial bem simples para ensinar como fazer um sistema de double jump, visto que muitas pessoas fazem de diversos modos, o meu seria uma maneira bem simples e direta. Então caso não saiba e queira saber (ou já sabe, mas queira aprender uma alternativa) confira abaixo:

O script vai depender que o objeto possua um rigidbody2D e um objeto filho que deve ser posicionado abaixo do player com o nome de "GroundCheck" para podermos verificar se o objeto está tocando no chão:

[TUTORIAL] Double Jumping para games em 2D A5yNJBz

Também faça com que as plataformas que o objeto vai pular estejam no layer chamado "Ground".


Dentro do script nós vamos criar as seguintes variáveis:

Um float para mensurar a força do pulo, 3 bools: uma vai verificar se o objeto está no chão, a outra se o objeto está pulando e a outra se o pulo duplo está sendo executado. Por fim, uma variável do tipo "Transform" para armazenar a posição do objeto-filho de verificação e a variável do tipo "Rigidbody2D" para armazenar o componente de física do objeto.

Dentro do Start, referencie o Rigidbody, e faça com que a variável do tipo "Transform" receba a posição do objeto na cena com nome de "GroundCheck", através do comando GameObject.Find:

[TUTORIAL] Double Jumping para games em 2D 5tboJnt

Agora no Update, precisamos verificar se o jogador pressionou a tecla de pulo, para fazer o objeto pular, para tal, faça com que a variável "isJumping" receba o comando de Input da tecla:

Código:
isJumping = Input.GetKeyDown(KeyCode.Space);

Então se o jogador pressionar "Space" a variável isJumping se tornará verdadeira, do contrário será false, dessa forma poderemos verificar se o jogador apertou para pular, para executarmos o pulo através do FixedUpdate.

Ainda dentro do Update, vamos checar se o objeto está tocando ao chão: Para isso, nós iremos fazer com que a variável "isGround" receba um OverlapCircle, que vai detectar através de um valor de raio se o objeto "GroundCheck" está colidindo com algo no layer "Ground".
Então passe como argumento da função: a posição de "GroudCheck", um valor para o raio (acredito que 0.1f esteja suficiente, não precisa ser tão grande) e o layer específico que criamos chamado "Ground".
Também verifique se "isGround" é verdadeiro, pois caso for, devemos passar "doubleJump" para false, dessa forma, o pulo duplo volta a desabilitar quando o objeto voltar a tocar no chão:

[TUTORIAL] Double Jumping para games em 2D 2SGxVEg


Agora crie uma função chamada "DoJump" para executarmos o pulo: dentro dela apenas resete a velocidade em y do rigidbody, para que a força nesse eixo não fique aumentando sempre, e por fim, adicione uma força nesse objeto através do "AddForce", com uma força direcionada para cima e multiplicada pelo valor da variável "jumpForce":

[TUTORIAL] Double Jumping para games em 2D AmOZkOu

Depois de tudo isso, vamos de fato fazer o objeto pular: dentro do FixedUpdate, verifique se "isJumping é verdadeiro, caso for, crie outra verificação se "isGround" é true (ou seja, se o objeto toca no chão). Dentro dessa condição faça com que o pulo seja executado chamando a função "DoJump" e faça com que "doubleJump" fique verdadeiro, permitindo que o jogador possa dar o pulo duplo, se ele desejar.
Na condição "isGround" crie um "else if" verificando se o objeto não está no chão e se "doubleJump" é true, permitindo então, que o pulo duplo seja executado chamando a função "DoJump" e tornando false a variável "doubleJump" para impedir que o jogador dê um terceiro, quarto pulo:

[TUTORIAL] Double Jumping para games em 2D FCIU7hn

Agora salve o script e através do Inspector configure a força do pulo da forma que achar necessário.

Como podem ver, é um script bem simples e rápido que dará um double jump ao objeto, então aproveite se precisar.

Código completo:

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

public class Jump : MonoBehaviour {

 public float jumpForce;
 private bool doubleJump, isJumping, isGround;
 private Transform groundCheck;
 private Rigidbody2D rb;


 void Start () {
 
 rb = GetComponent<Rigidbody2D> ();
 groundCheck = GameObject.Find ("GroundCheck").transform;
 }

 void Update () {

 isJumping = Input.GetKeyDown (KeyCode.Space);

 isGround = Physics2D.OverlapCircle (groundCheck.position, 0.1f, LayerMask.GetMask ("Ground"));
 if (isGround)
 doubleJump = false;
 }

 void FixedUpdate(){
 if (isJumping) {
 if (isGround) {
 DoJump ();
 doubleJump = true;
 } else if (!isGround && doubleJump) {
 DoJump ();
 doubleJump = false;
 }
 }
 }

 void DoJump(){
 rb.velocity = new Vector2 (rb.velocity.x, 0);
 rb.AddForce (Vector2.up * jumpForce);
 }
}
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2132
REPUTAÇÃO : 493
Áreas de atuação : Unity & C#
Respeito as regras : [TUTORIAL] Double Jumping para games em 2D Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Double Jumping para games em 2D

Mensagem por NKKF em Dom Mar 10, 2019 2:07 pm

May, o próximo pode ser sobre wall jump? Esses tutoriais são muito bom!
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 3282
REPUTAÇÃO : 525
Idade : 16
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras : [TUTORIAL] Double Jumping para games em 2D Aad8pUi

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Double Jumping para games em 2D

Mensagem por MayLeone em Dom Mar 10, 2019 2:12 pm

@NKKF escreveu:May, o próximo pode ser sobre wall jump? Esses tutoriais são muito bom!

Faço sim! Na verdade nunca fiz um wall jump, seria uma tentativa interessante! Grata pela sugestão!
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2132
REPUTAÇÃO : 493
Áreas de atuação : Unity & C#
Respeito as regras : [TUTORIAL] Double Jumping para games em 2D Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Voltar ao Topo


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