Criando um jogo de Nave 3D na Godot 4.3 em menos de 15 minutos | Godot 4.3 QUICK Tutorial

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024

Комментарии • 17

  • @hagemaru5038
    @hagemaru5038 5 дней назад +1

    bem legal, é um starfox em 15 minutos! gostei do formato de tuto rápido, que venha a continuação!

    • @lightraz1
      @lightraz1 3 дня назад

      Lembrei do Starfox tmb. O 64 principalmente

  • @marcoshenriquesilvamartins6511
    @marcoshenriquesilvamartins6511 5 дней назад

    Que bacana. Obrigado, tenho aprendido muito

  • @lucivando1980
    @lucivando1980 5 дней назад

    Show.

  • @PaulOne-10
    @PaulOne-10 5 дней назад

    Salve mano ficou top demais 😊 pode criar mais vídeos desse 😊

  • @lucivando1980
    @lucivando1980 19 часов назад

    Aguardo a aula seguinte! #godotspace

  • @SapoRigeno
    @SapoRigeno 5 дней назад

    Caramba q legal!!! #godotspace

  • @Mutar
    @Mutar 6 дней назад

    top! #godotspace

  • @gigantetelles6409
    @gigantetelles6409 5 дней назад

    Bom vídeo e essa movimentação tá bem legal cara, vc poderia falar sobre gráficos Low polly #godotspace

    • @clecioespindolagamedev
      @clecioespindolagamedev  5 дней назад +1

      Obrigado, vou pensar em gravar um vídeo sobre Low Poly em breve! É um estilo que gosto demais, principalmente voltando para a época do PS1 e Sega Saturn.

    • @gigantetelles6409
      @gigantetelles6409 4 дня назад

      @@clecioespindolagamedev Legal cara também gosto dos de PS1 tem um certo diferencial esses games

  • @alexmartinsandroid
    @alexmartinsandroid 3 дня назад

    Então, achei super interessante o tutorial, só achei que a acabou muito escuro.
    Mas isso é uma opinião minha.
    Continue com os tutos no tema, está bem legal.
    #godotspace

  • @carlosalbertopimentelferre1576
    @carlosalbertopimentelferre1576 6 дней назад

    #godotspace

  • @FOTODEPERFILRUIN
    @FOTODEPERFILRUIN 5 дней назад

    eu estava vendo o video é programando a movimentaçao, eu terminei de programar ela so que fui testar é nao funcionou, detalhe nao estou usando um cubo pra fazer a nave alguem ai poderia me ajudar ?

  • @walney2008
    @walney2008 5 дней назад

    como sempre, video top, como estou aprendendo coloco comentarios para mim e coloquei controle de firerate, pode ser que ajude mais pessoas, e gostaria de mais videos do mesmo, poderia se achar necessario até criar uma serie, tipo pegar power ups, mudar o tiro, inimigos, escudos, um rive raider 3d, 🙂
    extends CharacterBody3D
    # Referência da nave
    const PROJECTILE = preload("res://ship/projectile.tscn")
    # Ponto de Referência de onde sair a bala Marker3D
    @onready var turrent: Marker3D = $turrent
    # Define a velocidade de movimento do personagem
    const MOVE_SPEED := 10.0
    # Define a aceleração do personagem
    const ACCELERATION := 2.0
    # Define o limite da tela para o movimento do personagem
    var screen_limit := 2.0
    # Define o fator de rotação do personagem
    var rotation_factor := 10.0
    # Define o peso da rotação do personagem
    var weight_rotation := 3.0
    # Variável para controlar o tempo desde o último tiro
    var last_shot_time := 0.0
    # Define o tempo de recarga entre os tiros (firerate)
    const FIRE_RATE := 0.5 # 0.5 segundos entre cada tiro
    # Função chamada a cada frame para processar a física do personagem
    func _physics_process(delta: float) -> void:
    # Variável para armazenar a direção do input do jogador
    var input_dir := Vector3.ZERO
    # Obtém os inputs do jogador para o eixo X (esquerda e direita)
    input_dir.x = Input.get_axis("ui_left", "ui_right")
    # Obtém os inputs do jogador para o eixo Y (baixo e cima)
    input_dir.y = Input.get_axis("ui_down", "ui_up")
    # Normaliza a direção do input para evitar movimentos mais rápidos em diagonais
    input_dir = input_dir.normalized()

    # Verifica se o jogador pressionou o botão de tiro e se o tempo de recarga foi atingido
    if Input.is_action_just_pressed("ui_accept") and Time.get_unix_time_from_system() - last_shot_time >= FIRE_RATE:
    shoot()
    # Atualiza o tempo do último tiro
    last_shot_time = Time.get_unix_time_from_system()
    # Interpola a velocidade atual com a velocidade desejada com base na aceleração
    velocity.x = lerp(velocity.x, input_dir.x * MOVE_SPEED, ACCELERATION * delta)
    velocity.y = lerp(velocity.y, input_dir.y * MOVE_SPEED, ACCELERATION * delta)
    # Limita a posição do personagem dentro dos limites da tela
    transform.origin.x = clamp(transform.origin.x, -screen_limit, screen_limit)
    transform.origin.y = clamp(transform.origin.y, -screen_limit, screen_limit)
    # Interpola a rotação do personagem com base na velocidade e nos fatores de rotação
    rotation_degrees.x = lerp(rotation_degrees.x, velocity.y / rotation_factor, weight_rotation * delta)
    rotation_degrees.y = lerp(rotation_degrees.y, -velocity.x / rotation_factor, weight_rotation * delta)
    rotation_degrees.z = lerp(rotation_degrees.z, velocity.x * -rotation_factor, weight_rotation * delta)
    # Move o personagem de acordo com a velocidade calculada
    move_and_slide()
    # Função para disparar o projétil
    func shoot():
    var projectile = PROJECTILE.instantiate()
    add_sibling(projectile)
    # Define a posição onde o tiro vai sair
    projectile.position = turrent.global_position

  • @alessandrorenardo1790
    @alessandrorenardo1790 5 дней назад

    #godotspace

  • @porradaanimacoes2773
    @porradaanimacoes2773 4 дня назад

    #godotspace