mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 02:11:58 +02:00
Visual overhaul: theme, illustrations, redesigned screens (0.3.0)
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>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user