0.1.0-0-pre.11-fix.5
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/architecture/004-INPUT_AND_CONTROLS.md -->
|
||||
<!-- version: 6 -->
|
||||
<!-- version: 7 -->
|
||||
|
||||
# Abstraction des entrées et contrôles
|
||||
|
||||
@@ -97,18 +97,18 @@ Pour souris et tactile :
|
||||
|
||||
Reflex conserve son impulsion `Primary` sur `Down` et reste donc indépendant de la reconnaissance du swipe.
|
||||
|
||||
## Sortie utilisateur
|
||||
## Requête de sortie
|
||||
|
||||
Desktop :
|
||||
La plateforme ne décide plus directement de terminer un jeu. Elle traduit l'événement physique en `QuitRequest` :
|
||||
|
||||
- `Escape` quitte proprement la boucle SDL ;
|
||||
- la fermeture de fenêtre continue d'émettre `Quit`.
|
||||
- fermeture de fenêtre → `QuitSource::WindowClose` ;
|
||||
- `Escape` Desktop → `QuitSource::Escape` ;
|
||||
- Back Android → `QuitSource::PlatformBack`.
|
||||
|
||||
Android :
|
||||
`EngineGame::quit_requested` retourne un `QuitDecision`. Le comportement par défaut est `QuitDecision::Exit`.
|
||||
|
||||
- `SDL_ANDROID_TRAP_BACK_BUTTON=1` permet de traiter `AcBack` comme sortie propre ;
|
||||
- un contrôle visuel de fermeture est rendu en haut à droite ;
|
||||
- un tap/clic dans cette zone quitte la boucle avant d'alimenter le gameplay ;
|
||||
- la boucle retourne ensuite normalement vers `SDL_main`.
|
||||
Un jeu peut retourner `QuitDecision::Continue` après avoir modifié son état afin de mettre la partie en pause, demander confirmation, revenir à un écran précédent, préparer un Hall of Fame, sauvegarder ou commencer une action avant une sortie ultérieure.
|
||||
|
||||
Le gameplay ne dépend pas de cette logique de cycle de vie.
|
||||
Sur Android, `SDL_ANDROID_TRAP_BACK_BUTTON=1` reste activé. Le runtime reconnaît le Back via `Keycode::AcBack` ou `Scancode::AcBack`.
|
||||
|
||||
Le contrôle `X` SDL spécifique Android de `0-pre.11.fix.4` est supprimé : le contrôle système Back est la frontière plateforme de référence. Une future UI de confirmation ou navigation appartient au jeu ou à une couche UI moteur.
|
||||
|
||||
Reference in New Issue
Block a user