mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 10:21:58 +02:00
97a065879c
Phase "habillage" of the post-0.1.0 plan. Rendering was reviewed on real screenshots (new tools/screenshot.gd, `make screenshot`), which also caught and fixed map markers overlapping and truncated titles. - Global Godot theme (Atkinson Hyperlegible font, cream/green/gold palette, raised buttons, rounded cards, thick keyboard focus). - Original vector art: forest/marsh backdrops, Plume the owl, stars, exercise-type icons, correct/try-again icons, 10 collection items. - Redesigned world map (markers as cards with icon, title and stars, responsive layout), profile screens, mission intro, exercise host, rule/feedback panels, reward screen and collection grid. - Motion helper (pop-in, fade) honouring an animations setting. - Settings: animations flag; base window 1152x648 with canvas_items. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
27 lines
1.0 KiB
GDScript
27 lines
1.0 KiB
GDScript
class_name Motion
|
|
extends RefCounted
|
|
## Petites animations d'interface (apparition, rebond). Toutes respectent le
|
|
## reglage d'animations (cahier des charges §11 : possibilite de les
|
|
## desactiver) : elles ne font alors rien et l'element est affiche tel quel.
|
|
|
|
|
|
## Fait grossir `node` depuis rien avec un leger rebond.
|
|
static func pop_in(node: Control, delay: float = 0.0) -> void:
|
|
if not SettingsManager.animations_enabled:
|
|
return
|
|
node.scale = Vector2.ZERO
|
|
await node.get_tree().process_frame
|
|
node.pivot_offset = node.size / 2.0
|
|
var tween := node.create_tween()
|
|
tween.set_trans(Tween.TRANS_BACK).set_ease(Tween.EASE_OUT)
|
|
tween.tween_property(node, "scale", Vector2.ONE, 0.4).set_delay(delay)
|
|
|
|
|
|
## Fait apparaitre `node` en fondu.
|
|
static func fade_in(node: CanvasItem, duration: float = 0.25) -> void:
|
|
if not SettingsManager.animations_enabled:
|
|
return
|
|
node.modulate.a = 0.0
|
|
var tween := node.create_tween()
|
|
tween.tween_property(node, "modulate:a", 1.0, duration)
|