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

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ส.ค. 2024
  • 📢 Link dos meus cursos (COM DESCONTO): linktr.ee/devb...
    📢 LINKS UTILIZADOS NO VÍDEO
    🎨 Link para Download das assets utilizadas: game-endeavor....
    📶 Link para download da Godot: godotengine.or...
    📢 MINHAS REDES SOCIAIS
    🎥 Link para o meu perfil na Twitch: / devbandeira
    📚 Link para o meu perfil na Udemy: www.udemy.com/...
    🐈‍⬛ Link para o meu perfil no GitHub: github.com/Ban...
    📠 Link para o meu servidor no Discord: / discord
    #rpg #godot #indiegame #tutorial #curso #cursogodot #iniciantes #desenvolvimentodejogos

ความคิดเห็น • 78

  • @user-fb1hl9bs2e
    @user-fb1hl9bs2e ปีที่แล้ว +12

    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 ปีที่แล้ว +3

    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

  • @user-no1mm5jb8m
    @user-no1mm5jb8m 6 หลายเดือนก่อน +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

  • @zezinff430
    @zezinff430 6 หลายเดือนก่อน +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

  • @lucivando1980
    @lucivando1980 ปีที่แล้ว

    Like garantido, show

  • @imgerror
    @imgerror 9 หลายเดือนก่อน +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 8 หลายเดือนก่อน

      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 8 หลายเดือนก่อน

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

  • @shiruphy
    @shiruphy 11 หลายเดือนก่อน +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 🙏

  • @SuperTicao.
    @SuperTicao. 7 หลายเดือนก่อน

    OBRIGADO!

  • @HORGANIZADION
    @HORGANIZADION 2 หลายเดือนก่อน

    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

  • @Katsudouki
    @Katsudouki 5 หลายเดือนก่อน +1

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

  • @WeslhyAlves
    @WeslhyAlves 11 หลายเดือนก่อน

    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.

  • @leonardocosme8303
    @leonardocosme8303 ปีที่แล้ว +1

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

  • @meliodas.50
    @meliodas.50 4 หลายเดือนก่อน

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

  • @cavaleirinho-play
    @cavaleirinho-play 5 หลายเดือนก่อน +1

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

    • @satoyz
      @satoyz 4 หลายเดือนก่อน +2

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

  • @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 10 หลายเดือนก่อน

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

  • @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 11 หลายเดือนก่อน

      Também não consegui.

    • @jeanlolvayper
      @jeanlolvayper 9 หลายเดือนก่อน

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

    • @jhonliniker
      @jhonliniker 6 หลายเดือนก่อน

      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.

  • @skyispink8269
    @skyispink8269 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      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 .

  • @bradexoff7584
    @bradexoff7584 ปีที่แล้ว +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 11 หลายเดือนก่อน +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 10 หลายเดือนก่อน +3

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

    • @WeslhyAlves
      @WeslhyAlves 10 หลายเดือนก่อน

      @@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 10 หลายเดือนก่อน

      @@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 10 หลายเดือนก่อน

      @@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, :)

  • @moniqueneto9587
    @moniqueneto9587 8 หลายเดือนก่อน

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

  • @apenas_uma_batata
    @apenas_uma_batata หลายเดือนก่อน

    Esse código funciona em mobile?

  • @lhscoderch
    @lhscoderch 8 หลายเดือนก่อน

    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()

  • @voguh__
    @voguh__ 9 หลายเดือนก่อน

    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 8 หลายเดือนก่อน

      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__ 8 หลายเดือนก่อน

      @@PixelEmber ai tu é doido kkkkkkkkk

  • @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 2 หลายเดือนก่อน +1

    qual é a linguagem de programação usada?

    • @DevBandeira
      @DevBandeira  2 หลายเดือนก่อน +1

      GDScript, linguagem nativa da Godot

    • @lucasdonato6357
      @lucasdonato6357 2 หลายเดือนก่อน +1

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

  • @user-sr4mx5bb8m
    @user-sr4mx5bb8m 10 หลายเดือนก่อน

    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  10 หลายเดือนก่อน

      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.

  • @Telles0808
    @Telles0808 10 หลายเดือนก่อน

    Porque você usa _ antes das variaveis?

    • @patoraivoso
      @patoraivoso 10 หลายเดือนก่อน

      Semântica

  • @LuizHenriqueEng.
    @LuizHenriqueEng. 8 หลายเดือนก่อน

    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 3 หลายเดือนก่อน

      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?

  • @arthursantos9653
    @arthursantos9653 9 หลายเดือนก่อน

    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 9 หลายเดือนก่อน +2

      Bota o Z do zero em letra maiúscula

  • @raizenberk
    @raizenberk ปีที่แล้ว

    Tem como fazer eu fazer pra Mobile?

    • @STD-OC
      @STD-OC ปีที่แล้ว +2

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

    • @uyh393
      @uyh393 ปีที่แล้ว

      ​@@STD-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 3 หลายเดือนก่อน +4

    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 3 หลายเดือนก่อน +2

      desculpa

    • @SenhorSunden
      @SenhorSunden 3 หลายเดือนก่อน

      ​@@nicollas2740
      Calma amigo

    • @HORGANIZADION
      @HORGANIZADION 2 หลายเดือนก่อน

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

    • @aguaumida9000
      @aguaumida9000 21 วันที่ผ่านมา

      ​@@HORGANIZADIONque erro deu?

  • @AexetanPowe
    @AexetanPowe 7 หลายเดือนก่อน +1

    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 5 หลายเดือนก่อน

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

    • @HORGANIZADION
      @HORGANIZADION 2 หลายเดือนก่อน

      ​@@Lancamissill Sério?