feat(ui): lift selected card 25px with tween animation

This commit is contained in:
xiaji
2026-06-02 21:45:57 +08:00
parent 24ee21f24c
commit 85d2f63466

View File

@@ -6,10 +6,13 @@ signal card_double_clicked(card_node: CardNode)
var card_data: Card = null
var is_selected: bool = false
var _lift_tween: Tween = null
@onready var panel: Panel = $Panel
@onready var card_texture: TextureRect = $Panel/CardTexture
const LIFT_OFFSET := -25.0
const LIFT_DURATION := 0.12
const RANK_PREFIX := ["", "", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "SJ", "BJ"]
const SUIT_LETTER := ["S", "H", "C", "D", "SJ", "BJ"]
const CARD_TEXTURE_PATH := "res://assets/cards/"
@@ -68,6 +71,13 @@ func set_selected(sel: bool) -> void:
is_selected = sel
_update_panel()
if _lift_tween and _lift_tween.is_valid():
_lift_tween.kill()
_lift_tween = create_tween()
_lift_tween.set_trans(Tween.TRANS_QUAD)
_lift_tween.set_ease(Tween.EASE_OUT)
_lift_tween.tween_property(self, "position:y", LIFT_OFFSET if sel else 0.0, LIFT_DURATION)
func _on_gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT and event.pressed: