Estrutura e movimentação do personagem #2 - Criando um rpg top/down na Godot 4.0

Поділитися
Вставка
  • Опубліковано 3 січ 2025

КОМЕНТАРІ • 87

  • @EstudosadversosSim
    @EstudosadversosSim Рік тому +13

    comecei a me interessar em programação recentemente, acredito que seu vídeo seria ótimo para pessoas já com base em programação, mas para iniciantes como eu, apenas copiar o código, não nos agrega em aprendizagem. Acho que seria muito interessante o senhor trazer um vídeo com uma didática para iniciantes, com o intuito de ensinar os comandos/códigos base para movimentação padrão de personagens 2D, sem necessidade de inicialmente usar sprits ou animações, só com a utilização de um simples cubo e cenário básico, para nos ensinar como funciona os scrpts de movimento top/down e plataforma. Espero que isso chegue até você e que pense um pouco em produzir esse vídeo. irei continuar acompanhando.

    • @yotao3147
      @yotao3147 Рік тому +2

      Se tu deseja não ficar tão perdido, usa o chatgpt para perguntar algumas coisas que não está compreendendo. Ele não é totalmente perfeito mas ajuda bastante a sanar minhas dúvidas e me ajuda bastante. Eu uso a doc e vejo outros vídeos sobre o assunto para ter uma base maior

  • @igorvieira7457
    @igorvieira7457 Рік тому +4

    Não sou religioso, mas considero você como um anjo na terra, no sentido de espalhar um conhecimento desse de graça. Isso pode realmente mudar a vida de uma pessoa, ao ponto de faze-la se interessar por programação

  • @JoeySarcijoestar
    @JoeySarcijoestar 10 місяців тому +2

    Bug do deslizamento...
    Olha, sabe aquelas setinhas? ">>" eu deixei apenas ">" abaixo do return com o espaço de uma linha, fricção e aceleracao botei no 0.2, é isso, espero ter ajudado

  • @SuperTicao.
    @SuperTicao. Рік тому

    OBRIGADO!

  • @imgerror
    @imgerror Рік тому +1

    Galera, aqui funcionou de boa, mudei só pra 0.3 porque acho que fica melhor
    "extends CharacterBody2D
    @export_category("Variables")
    @export var _move_speed: float = 64.0
    @export var _friction: float = 0.3
    @export var _acceleration: float = 0.3
    func _physics_process(_delta: float) -> void:
    _move()
    move_and_slide()
    func _move() -> void:
    var _direction: Vector2 = Vector2(
    Input.get_axis("move_left", "move_right"),
    Input.get_axis("move_up", "move_down")
    )
    if _direction != Vector2.ZERO:
    velocity.x = lerp(velocity.x, _direction.normalized().x * _move_speed, _acceleration)
    velocity.y = lerp(velocity.y, _direction.normalized().y * _move_speed, _acceleration)
    return
    velocity.x = lerp(velocity.x, _direction.normalized().x * _move_speed, _friction)
    velocity.y = lerp(velocity.y, _direction.normalized().y * _move_speed, _friction)"

    • @pelumo2624
      @pelumo2624 Рік тому

      nao sei o caralho de motivo mas o meu personagem nao parava de andar, copiei o seu e deu tudo certo. Vou enviar o meu aqui caso voce possa me ajudar a analizar.
      extends CharacterBody2D
      @export_category("Variables")
      @export var _move_speed: float = 64.0
      @export var _friction: float = 0.2
      @export var _acceleration: float = 0.2
      func _physics_process(_delta: float) -> void:
      _move()
      move_and_slide()


      func _move() -> void:
      var _direction: Vector2 = Vector2(
      Input.get_axis("move_left", "move_right"),
      Input.get_axis("move_up", "move_down")
      )

      if _direction != Vector2.ZERO:
      velocity.x = lerp(velocity.x, _direction.normalized().x * _move_speed, _acceleration)
      velocity.y = lerp(velocity.y, _direction.normalized().y * _move_speed, _acceleration)
      return

      velocity.x = lerp(velocity.x, _direction.normalized().x * _move_speed, _friction)
      velocity.y = lerp(velocity.y, _direction.normalized().y * _move_speed, _friction)

    • @imgerror
      @imgerror Рік тому

      @@pelumo2624 Dois tabs ao invés de um antes de velocity.x e velocity.y.

  • @Katsudouki
    @Katsudouki 10 місяців тому +1

    ao apertar duas direcoes opostas o personagem fica girando , como resolvo isso ?
    🤔

  • @lucivando1980
    @lucivando1980 Рік тому

    Like garantido, show

  • @cavaleirinho-play
    @cavaleirinho-play 9 місяців тому +1

    cara pfv me ajuda na parte do input.get_axis("move_up," "move down"). fica dando erro, e a ")" também da erro.

    • @ergumsum
      @ergumsum 8 місяців тому +3

      A vírgula está dentro do aspas, mas deve ficar fora separando as duas strings: "move_up", "move_down"

  • @declivee
    @declivee 3 місяці тому

    Ótimo conteúdo! você acha que deve ser difícil fazer um jogo nesse estilo mas multiplayer? talvez um RPG multiplayer, ou até mesmo um MMORPG ?

  • @AexetanPowe
    @AexetanPowe Рік тому +2

    o meu so fuucionou com o seguite script
    "extends CharacterBody2D
    @export_category("Variables")
    @export var _move_speed: float = 64.0
    @export var _friction: float = 0.3
    @export var _acceleration: float = 0.3
    func _physics_process(_delta: float) -> void:
    _move()
    move_and_slide()
    func _move() -> void:
    var _direction: Vector2 = Vector2(
    Input.get_axis("move_left", "move_right"),
    Input.get_axis("move_up", "move_down")
    )
    if _direction != Vector2.ZERO:
    velocity.x = lerp(velocity.x, _direction.normalized().x * _move_speed, _acceleration)
    velocity.y = lerp(velocity.y, _direction.normalized().y * _move_speed, _acceleration)
    return
    velocity.x = lerp(velocity.x, _direction.normalized().x * _move_speed, _friction)
    velocity.y = lerp(velocity.y, _direction.normalized().y * _move_speed, _friction)

    • @Lancamissill
      @Lancamissill 9 місяців тому

      valeu cara, o codigo do cara n parava de deslizar dai eu coloquei o seu e ficou perfeito

    • @Solidaunzerada
      @Solidaunzerada 7 місяців тому

      ​@@Lancamissill Sério?

  • @zezinff430
    @zezinff430 10 місяців тому +1

    Pode usar o código do vídeo para nossos projetos, pois estou querendo participar de uma game jam mais nao sei de muita coisa de criar jogos

  • @antoniogaspar132
    @antoniogaspar132 Рік тому +1

    Ótimo video mn, mas poderia ensinar oq é essa função lerp
    e oq é o export categorys?

    • @yotao3147
      @yotao3147 Рік тому +1

      lerp é uma função que cria uma interpolação, ou seja, ele faz transições suaves entre dois valores + o valor interpolado. Por exemplo lerp(10, 100, 0.5), o lerp cria uma transição suave de 0.5 entre os valores 10 e 100, não fazendo eles chegarem a 10 ou 100 de forma instantânea, ele faz que esses números acelerem e desacelerem gradualmente. Isso é perfeito para efeitos de transição de cena, fricção e aceleração e assim vai.
      já o @export ele permite você alterar o valor de uma var sem a necessidade de ir para o código. O category serve mais para ordenar e organizar esses @export

    • @antoniogaspar132
      @antoniogaspar132 Рік тому

      @@yotao3147 Obrigado mn, eu já imaginava como oo category o lerp funcionvam pq já usei ele algumas vezes desde q fiz o comentário, mas vc confirmou meus palpites, obrigado imrão, tmj

    • @yotao3147
      @yotao3147 Рік тому

      @@antoniogaspar132 Uma dica é pergunta ao Chatgpt. Não é 100% útil porque pode dar respostas equivocadas, mas ele ajuda bastante para o cara ter uma base. Mas seria legal ele ensinar essas coisinhas aí num curso mais focado na lógica de programação para jogos usando a godot

    • @patoraivoso
      @patoraivoso Рік тому

      Essa função serve para categorizar as variáveis que tu tá exportando e deixar organizado no inspetor

  • @shiruphy
    @shiruphy Рік тому +1

    cara voce poderia ensinar a criar uma movimentação por joystick e botoes de ataque para touch, porque eu quero fazer um game focado no celular mais não estou conseguindo implementar esses botões mesmo usando plugins, ainda da uns problemas tipo, eu nao sei como fazer i personagem dar o flip na hora de movimentar para as laterais, e tds os outros tutoriais que eu vi estao em uma versao da godot 3.5, ajuda ai nmrl professor 🙏

  • @oieusouocesar1909
    @oieusouocesar1909 Рік тому +3

    meu personagem não anda, da erro nessa parte do script
    " func _physics_process(_delta: float) -> void:
    _move()


    func _move() -> void:" ambas as duas não são reconhecidas, eu n consegui resolver nem com o chatgtp, alguém me ajuda, please

    • @Wellington-cp8nx
      @Wellington-cp8nx Рік тому

      Também não consegui.

    • @jeanlolvayper
      @jeanlolvayper Рік тому

      Man, no meu caso ficou faltando uma vírgula, eu fiquei procurando o erro e levei um tempo pra achar

    • @jhonliniker
      @jhonliniker 11 місяців тому

      aqui tambem as vezes da erro e sempre é por conta de algum erro de caracteres no codigo, as evzes escrevo errado ou falta _ na frente. Sempre verifique se esta escrevendo corretamente os valores.

  • @WeslhyAlves
    @WeslhyAlves Рік тому

    Oi DevBandeira, eu daiquiri o seu curso Do básico ao avançado, a meses atrás não deu para concluir na época, sabe disser se funciona na versão atua, também penso em daiquiris os outros 2 novo, estava estudando unity por questão do mercado, mais de pois do que ouve fiquei sem chão, se serve um conselho acho que vc deveria fazer outro curso focado no 3d dando foco como tipos de câmeras e efeitos e um pouco sobre física e gravidade.

  • @PinkSky4sk
    @PinkSky4sk 7 місяців тому +1

    meu boneco simplesmente nao anda dps de seguir o tutorial kkkk ele fica la travadao e eu li letra por letra do codigo pra ver mas nada ta diferente

    • @Edfilhofh
      @Edfilhofh 7 місяців тому

      Também tive esse problema apesar de esta tudo escrito como no video depois de refazer cada sintase , observei que estava na classe errada na arvore . de uma olhada se não é o mesmo caso. return tem que esta na mesma classe de ordem .

  • @andersonunsonst
    @andersonunsonst 11 днів тому

    ta dando erro pede para declarar a variavel velocity

  • @leonardocosme8303
    @leonardocosme8303 Рік тому +1

    Meu personagem ele está andando, porém não para de deslizar kkjjkk como faz pra ele parar de andar???

  • @Solidaunzerada
    @Solidaunzerada 7 місяців тому

    Meu personagem tá gigante por conta que eu tive que exportar do celular pro computador, pq não achei tutorial de como fazer uma tabela de sprites, tem como vc me ajudar?meu personagem ficou tão fofoo 😭 não quero perder ele

  • @Telles0808
    @Telles0808 Рік тому +1

    Porque você usa _ antes das variaveis?

  • @moniqueneto9587
    @moniqueneto9587 Рік тому +1

    Boa tarde! Meu personagem não está aparecendo, estou na #2 aula.

  • @apenas_uma_batata
    @apenas_uma_batata 6 місяців тому

    Esse código funciona em mobile?

  • @meliodas.50
    @meliodas.50 9 місяців тому

    Sei que é difícil mas em um futuro teria como ensinar pelo celular também?

  • @Deivison075
    @Deivison075 Рік тому +1

    Maninho mim ajuda, Please. eu estava fazendo o seu tutorial de boas, até q os dois eixos y ficava dando erro, e toda vez q eu iniciava a cena o boneco NN andava, estou um pouco frustado por ficar 3 horas fazendo isso e no fim, NN por ele pra andar, mas NN desisto fácil, por isso estou aq pedindo a sua ajuda🙏

    • @Areuskk
      @Areuskk Рік тому

      Mn você colocou os botões invertidos? Exemplo cima fica baixo

    • @Deivison075
      @Deivison075 Рік тому

      @@Areuskk na vdd nao, eu errei, quando eu fui por a variavel velocity, mas depois de um bom tempo estudando eu finalmente consegui

  • @lucasdonato6357
    @lucasdonato6357 6 місяців тому +1

    qual é a linguagem de programação usada?

    • @DevBandeira
      @DevBandeira  6 місяців тому +1

      GDScript, linguagem nativa da Godot

    • @lucasdonato6357
      @lucasdonato6357 6 місяців тому +1

      @@DevBandeira ok ok, vlw mano! muito com seu conteúdo!

  • @SidehustlePO
    @SidehustlePO Рік тому

    o void está dando erro no script, por causa do ->
    ele serve pra zerar a memoria?
    pois neste formato ele não responde mais e ao retirar o -> void: de ambas as linhas consegui executar normalmente.

    • @DevBandeira
      @DevBandeira  Рік тому

      o -> void é dizendo que vai ser uma função que não vai precisar retornar nada, você está usando o c# ou o gdscript? No c# pode ser diferente a nomenclatura, mas contanto que o seu código não esteja com algum return valor, é para funcionar com a tipagem, mas é algo completamente opcional.

  • @LuizHenriqueEng.
    @LuizHenriqueEng. Рік тому

    alguem pode me dar uma dica, toda vez que executo a cena ela abre e minimiza sozinha, voltando para a godot no escript... ta incomodando já, pois deveria abrir e ficar na janela!

    • @Edfilhofh
      @Edfilhofh 7 місяців тому

      tem erro no seu script ... refaça.

  • @fireko284
    @fireko284 Рік тому +2

    eu testei e esse código não funciona, eu testei e ficou dando erro toda hora

    • @DevBandeira
      @DevBandeira  Рік тому +1

      E qual o erro que você está tendo?

    • @fireko284
      @fireko284 Рік тому +1

      @@DevBandeira estou copiando exatamente igual e o programa fica relatando algo de errado, então se eu deixar o código assim não vai funcionar

    • @DevBandeira
      @DevBandeira  Рік тому +1

      @@fireko284 Manda um print do seu código lá no discord do canal, para eu poder ver o erro que você está tendo.

    • @fireko284
      @fireko284 Рік тому +2

      @@DevBandeira ok, mas antes vou ver se ecrevi errado ou se eu deveria ter deixado de adcionar algo

    • @caiodiasz2697
      @caiodiasz2697 Рік тому +1

      @DevBandeira consigo fazer seu curso pelo celular,já que lançou a Godot para Android?

  • @lhscoderch
    @lhscoderch Рік тому

    Escrevi o codigo e deu erro, copiei e colei aqui:
    extends CharacterBody2D
    @export_category("Variables")
    @export var _move_speed: float = 64.0
    func _physics_process(_delta: float) -> void:
    _move()


    func _move() -> void:
    var _direction: Vector2 = Vector2(
    input.get_axis("move_left", "move_right"),
    input.get_axis("move_up", "move_down")
    )

    velocity = _direction.normalized() * _move_speed
    move_and_slide()

    • @LuckxdArts
      @LuckxdArts 2 місяці тому +1

      Input ta em minusculo no inicio, você escreveu "input", quando precisa ser "Input", é algo mínimo, mas uma coisa escrita errada faz o projeto todo não funfar.

    • @lhscoderch
      @lhscoderch 2 місяці тому +1

      @@LuckxdArts Na epoca eu demorei umas boas horas para descobrir que era isso kk mais obrigado mesmo assim brother.
      A alguns meses migrei para a Unreal Engine, também é muito boa.

    • @LuckxdArts
      @LuckxdArts 2 місяці тому

      @@lhscoderch Boa, unreal é mesmo muito boa!

  • @arthursantos9653
    @arthursantos9653 Рік тому

    Eu to parado aqui, ja corrigir o meu alguns vezes e mesmo assim o script esta dando erro na parte de "direction != Vector2.zero" depois disso so fica em vermelho o resto do script, se alguem puder me ajudar acredito

    • @Frajola171
      @Frajola171 Рік тому +2

      Bota o Z do zero em letra maiúscula

  • @voguh__
    @voguh__ Рік тому

    Estou seguindo seu tutorial porém com C# pois pra mim é melhor ja que venho da unity, até o momento com cosias básicas consegui traduzir tudo :)

    • @PixelEmber
      @PixelEmber Рік тому

      eu venho da unreal eestou fazendo a mesma coisa so que em c++, voce nao imagina o trampo que da pra traduzir kkk

    • @voguh__
      @voguh__ Рік тому

      @@PixelEmber ai tu é doido kkkkkkkkk

  • @HaterSinceroXXI
    @HaterSinceroXXI Рік тому +4

    é maravilhoso quando você não entende nada de programação, você escreve o exato mesmo código do tutorial, sem erros, usando a mesma versão do cara do tutorial e não funciona =D
    como você conserta, eis a questão XD kkkkkkkkkkk ficando preso na mesma etapa, lógico =D
    O vídeo tá legal, só to me t0rtur4nd0 um poquin, é divertido :)

    • @WeslhyAlves
      @WeslhyAlves Рік тому +1

      Sei como é, já passei por isso a 2 anos atrás , por experiência de uma olha que provável mente vc errou uma coisinha de nada :)

    • @patoraivoso
      @patoraivoso Рік тому +3

      ​@@WeslhyAlvessim, 99% das vezes o erro é de quem tá copiando o código e colando kkk

    • @WeslhyAlves
      @WeslhyAlves Рік тому

      @@patoraivoso sim, galera no inicio faz isso sem analisar, eu já fiz muito quando comecei a 7 anos atrás, hoje construí uma boa base de programação, só tenho preguiça de ler o manual kkkkkk, por isso opto por vídeo! só olho o manual quando não existem vídeo sobre, eu planejo criar minha game engenhe para fins de dânticos.

    • @patoraivoso
      @patoraivoso Рік тому

      @@WeslhyAlves Pse, eu comecei a 1 ano atrás e graças a esses erros, eu consegui aprender a ler meus códigos e entender oque estou fazendo. (Porém te. Uma galera que só quer copiar e colar o código, aí depois fala que o cara que ensinou que esta errado) kkk

    • @WeslhyAlves
      @WeslhyAlves Рік тому

      @@patoraivoso Estou pensando em montar um grupo para estudos de programação e desenvolvimento de projetos se vc se quiser fazer parte só avisar, sei python aranho um pouco em c#, c++ já vi lua e um pouco de js, :)

  • @raizenberk
    @raizenberk Рік тому

    Tem como fazer eu fazer pra Mobile?

    • @SPEEDYTHEDOG-OC
      @SPEEDYTHEDOG-OC Рік тому +2

      Cara, A godot de mobile é exatamente a mesma de PC, então dá sim. Só vai ter que se acostumar msm

    • @PaulaTejando-2k
      @PaulaTejando-2k Рік тому

      ​@@SPEEDYTHEDOG-OCPra mim o único problema é a tela que dificulta dms em quase tudo por exemplo na hora de fazer o mapa com os tiles

  • @OuricoFelix
    @OuricoFelix Рік тому

    Para mim n funcionou

  • @nicollas2740
    @nicollas2740 7 місяців тому +5

    voce explica muito mal mano nao fala o que cada coisa faz nao explica que codigo voce ta fazendo só sai escrevendo coisa mano esse tutorial é pra quem ja sabe algo pq quem nao sabe só vai poder copiar

    • @nicollas2740
      @nicollas2740 7 місяців тому +3

      desculpa

    • @SenhorSunden
      @SenhorSunden 7 місяців тому

      ​@@nicollas2740
      Calma amigo

    • @Solidaunzerada
      @Solidaunzerada 6 місяців тому

      Eu fiz igual ele mostrou e tava dando erro🤡 eu perguntei pro chat gbt e ele me ajudou 🤡🤡🤡🤡🤡🤡🤡

    • @Camelianoo1
      @Camelianoo1 5 місяців тому

      ​@@Solidaunzeradaque erro deu?

    • @Solidaunzerada
      @Solidaunzerada 4 місяці тому

      ​@@Camelianoo1 não pegava nada kakakak