criando PONTES na GODOT | Criando um RPG Top Down na Godot 4.3 #4

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ต.ค. 2024

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

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

    muito dificil mesmo kkk, mas ta mto legal o curso que vc ta dando :D, mto obrigado

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

    Conteúdo mt bom

  • @raphadev6665
    @raphadev6665 3 หลายเดือนก่อน +1

    Perfeito, muito bom mesmo, sempre tive curiosidade de como era feito.

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

    Já tinha visto e passando novamente para o like. Internet tá muito ruim.

  • @isaiassantanadomingos8658
    @isaiassantanadomingos8658 3 หลายเดือนก่อน +1

    Ponte é muito legal de fazer

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

    Assim que meu Pc chegar quero comprar seu curso muito top

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

    gostei desse tutorial

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

    Tem como fazer algum tipo de barco, automatico ou navegável mesmo.

  • @Hino_dev
    @Hino_dev 3 หลายเดือนก่อน +1

    I'm One Comment 😅

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

    Salve. Está acontecendo algo estranho com meu script. Coloquei o "character" nas camadas 1 e 4 da layer e da mask, mas não reage com a BridgeArea na camada 4. Inseri um código na Ready para testar:
    func _ready():
    print("Chracter")
    print(collision_layer)
    print(collision_mask)
    Quando executo apenas o character (Pawn) mostra "9" e "9" (1 + 8: dos primeiro e quarto bit)
    Mas quando executo o GameLevel ele mostra "1" e "1" ,só o primeiro bit referente camada 01 e como não está "setada" a camada 4 não aciona o body_entered da bridge_area
    Estava testando com a versão beta2, atualizei para a versão beta3 e continuou a mesma coisa.
    Alguma idéia?

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

      Resolvido. BrigeArea não estava como filha de Bridge 🙂

  • @NathanRocha-tv1gl
    @NathanRocha-tv1gl 22 วันที่ผ่านมา

    o meu personagem esta colidindo com a ponte fora dela
    personagem:
    extends CharacterBody2D
    class_name BaseCharacter
    var _is_in_motain: bool = true
    var _can_atack: bool = true
    var _atack_animation_name: String = ""
    @export_category("Values")
    @export var _move_speed : float = 128.0
    @export var _right_atack: String = ""
    @export var _left_atack: String = ""
    @export_category("Objects")
    @export var _sprite2D: Sprite2D
    @export var _animaçao: AnimationPlayer
    @export var _ponte: TileMapLayer
    func _process(_delta: float) -> void:
    pass
    func _physics_process(_delta: float) -> void:
    _move()
    _atack()
    _animate()

    func _move() -> void:
    var _direçao: Vector2 = Input.get_vector("mover_direita", "mover_esquerda", "mover_cima", "mover_baixo")

    velocity = _direçao * _move_speed
    move_and_slide()

    func _atack() ->void:
    if Input.is_action_just_pressed("left_atack") and _can_atack:
    _can_atack = false
    _atack_animation_name = _left_atack
    set_physics_process(false)

    if Input.is_action_just_pressed("right_atack") and _can_atack:
    _can_atack = false
    _atack_animation_name = _right_atack
    set_physics_process(false)


    func _animate() -> void:
    if velocity.x > 0:
    _sprite2D.flip_h = false

    if velocity.x < 0:
    _sprite2D.flip_h = true

    if _can_atack == false:
    _animaçao.play(_atack_animation_name)
    return

    if velocity:
    _animaçao.play("run")
    return
    _animaçao.play("idle")




    func _on_animation_finished(anim_name: StringName) -> void:
    _can_atack = true
    set_physics_process(true)
    func update_collision_layer_mask(_type: String) -> void:
    if _type == "in":
    set_collision_layer_value(1, false)
    set_collision_layer_value(2, true)

    set_collision_mask_value(1, false)
    set_collision_mask_value(2, true)

    collision_layer


    if _type == "out" :
    set_collision_layer_value(1, true)
    set_collision_layer_value(2, false)

    set_collision_mask_value(1, true)
    set_collision_mask_value(2, false)

    collision_layer

    pass
    func update_mountain_stade(_stade: bool) -> void:
    _is_in_motain = _stade
    if _is_in_motain == false:
    _ponte.z_index = 1

    if _is_in_motain:
    _ponte.z_index = 0

    func get_is_in_moutain() -> bool:
    return _is_in_motain


    ponte:
    func _on_body_entered(_body: Node2D) -> void:
    if _body is BaseCharacter:
    if _body.get_is_in_moutain() == false:
    return

    _body.update_collision_layer_mask("in")

    func _on_body_exited(_body: Node2D) -> void:
    if _body is BaseCharacter:
    if _body.get_is_in_moutain() == false:
    return

    _body.update_collision_layer_mask("out")

    escada:
    extends Area2D
    class_name AreaEscada
    func _on_body_exited(_body: Node2D) -> void:
    if _body is BaseCharacter:
    if global_position.y > _body.global_position.y:
    _body.update_mountain_stade(true)
    if global_position.y < _body.global_position.y:
    _body.update_mountain_stade(false)

    alguem me ajuda?

  • @netyluz6321
    @netyluz6321 3 หลายเดือนก่อน +1

    Se isso é basico desisto do intermediario 💀 💀 💀

    • @Infinite-sincero
      @Infinite-sincero หลายเดือนก่อน

      kkkjk parece complicado, mas é mais questão de experiência mesmo