Ajoute la fonctionnalite quiz autonome/plein ecran a la boite a quiz
Introduit la double categorie de modeles (boite de dialogue / page de quiz plein ecran) avec plein ecran, minuteur, score integre et ecran de resultat pour les modeles page ; ajoute les modeles "Manga" (boite et page) et "Classique" (page), pilotables aussi par l'assistant IA Ruby. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
559331f9cf
commit
7db4803b93
+14
-1
@@ -42,6 +42,18 @@
|
||||
#playFrame.sceneMode{ width:100vw; height:100vh; }
|
||||
.playScreen{ position:absolute; inset:0; display:none; }
|
||||
.playScreen.playScene{ inset:auto; top:50%; left:50%; transform:translate(-50%, -50%); background:#1a1d24; }
|
||||
/* "La notion de caméra disparaît" quand un quiz plein écran existe sur
|
||||
cet écran (demande explicite, voir screens/payload/full_game_payload.py
|
||||
::any_quiz_box_fullscreen) — le réglage "Caméra (px)" (scene_width/
|
||||
scene_height, qui donne à .playScene ci-dessus sa taille ET son
|
||||
`transform` de centrage) ne s'applique alors plus DU TOUT : cet écran
|
||||
devient lui-même plein viewport, sans transform (qui casserait
|
||||
position:fixed pour tout descendant, voir dialogue-box-controller.js
|
||||
::forgeEscapeCameraForFullscreen — plus nécessaire ici puisque
|
||||
.playScene n'a elle-même plus de transform dans ce cas). */
|
||||
.playScreen.playScene.playScene--quizFullscreen{
|
||||
position:fixed; inset:0; top:0; left:0; width:100vw; height:100vh; transform:none;
|
||||
}
|
||||
.playElement{
|
||||
position:absolute; box-sizing:border-box; font-family:system-ui,sans-serif;
|
||||
}
|
||||
@@ -89,7 +101,7 @@
|
||||
<!-- Un seul moteur d'écran désormais (jeu_2d) : objets déjà entièrement
|
||||
positionnés en pixels absolus par render_scene_object.py (voir
|
||||
screens/scenes/) — juste le HTML tel quel. -->
|
||||
<div class="playScreen playScene" data-screen-id="{{ s.id }}" data-kind="jeu_2d" style="width:{{ s.scene_width }}px; height:{{ s.scene_height }}px;">
|
||||
<div class="playScreen playScene {{ 'playScene--quizFullscreen' if s.any_quiz_box_fullscreen else '' }}" data-screen-id="{{ s.id }}" data-kind="jeu_2d" style="{{ '' if s.any_quiz_box_fullscreen else 'width:' + s.scene_width|string + 'px; height:' + s.scene_height|string + 'px;' }}">
|
||||
<!-- .sceneWorld : le "monde" (voir static/style.css et
|
||||
static/js/play/personnage-controller.js) — taille par défaut 100%
|
||||
(identique au viewport ci-dessus), agrandie/décalée en JS
|
||||
@@ -180,6 +192,7 @@
|
||||
<script src="{{ asset_url('js/play/actions.js') }}"></script>
|
||||
<script src="{{ asset_url('js/play/triggers.js') }}"></script>
|
||||
<script src="{{ asset_url('js/play/personnage-controller.js') }}"></script>
|
||||
<script src="{{ asset_url('js/play/quiz-box-templates.js') }}"></script>
|
||||
<script src="{{ asset_url('js/play/dialogue-box-controller.js') }}"></script>
|
||||
<script src="{{ asset_url('js/play/video-overlay.js') }}"></script>
|
||||
<script src="{{ asset_url('js/play/collision-rules-controller.js') }}"></script>
|
||||
|
||||
Reference in New Issue
Block a user