2023-03-18 19:05:16 +01:00
//scale_bouton_commencer_explication_analyse = 0.6
h _bouton _explication _analyse = 0.1 * window . innerHeight
num _explication _analyse = 0
function affichage _texte _explication _analyse ( texte , font , color , xt , yt , l _max _texte ) {
// Texte
ctx . strokeStyle = color // Pour que le contour soit rouge
ctx . fillStyle = color // Pour que l'intérieur soit bleu
ctx . font = font
print _text ( handle _text ( texte , xt , yt , font , l _max _texte , color = "#FFFFFF" , interligne = 0.045 * window . innerHeight ) , false )
}
////////////////////////////////////////////////////////////////////
///// BOUTON COMMENCER
function action _bouton _commencer _explication _analyse ( ) {
page _explication _analyse = false
page _analyse = true
//page_vues = true
2023-03-29 18:10:51 +02:00
interactions . push ( { "time" : new Date ( ) . getTime ( ) , "type" : get _message ( "fin_explication_analyse" , [ ] ) } )
2023-03-18 19:05:16 +01:00
}
function afficher _bouton _commencer _explication _analyse ( ) {
w _bouton _commencer = w _bouton _suivant
h _bouton _commencer = h _bouton _suivant
x _bouton _commencer = x _bouton _suivant
y _bouton _commencer = y _bouton _suivant
// Bouton commencer
2023-03-18 20:26:13 +01:00
ctx . drawImage ( boutons [ "commencer_petit" ] , x _bouton _commencer , y _bouton _commencer , w _bouton _commencer , h _bouton _commencer )
2023-03-18 19:05:16 +01:00
// Survol
if ( xyMouseMove . x >= x _bouton _commencer && xyMouseMove . x <= x _bouton _commencer + w _bouton _commencer && xyMouseMove . y > y _bouton _commencer && xyMouseMove . y < y _bouton _commencer + h _bouton _commencer ) {
draw _rectangle ( x _bouton _commencer , y _bouton _commencer , w _bouton _commencer , h _bouton _commencer , "rgb(200, 200, 200)" , 0.6 )
}
}
////////////////////////////////////////////////////////////////////
///// BOUTON Next
function action _bouton _suivant _explication _analyse ( ) {
num _explication _analyse = num _explication _analyse + 1
explications _analyse _a _afficher . push ( explications _analyse [ "texte" + num _explication _analyse ] )
}
function action _bouton _avant _explication _analyse ( ) {
if ( num _explication _analyse > 0 ) {
explications _analyse _a _afficher . pop ( ) }
num _explication _analyse = num _explication _analyse - 1
}
function afficher _bouton _suivant _explication _analyse ( ) {
ratio _bouton _explication _analyse = h _bouton _explication _analyse / boutons [ "suivant" ] . height
w _bouton _suivant = ratio _bouton _explication _analyse * boutons [ "suivant" ] . width
h _bouton _suivant = h _bouton _contexte
x _bouton _suivant = ( window . innerWidth / 2 ) + 5
y _bouton _suivant = window . innerHeight - h _bouton _suivant - 20
// Bouton commencer
ctx . drawImage ( boutons [ "suivant" ] , x _bouton _suivant , y _bouton _suivant , w _bouton _suivant , h _bouton _suivant )
// Survol
if ( xyMouseMove . x >= x _bouton _suivant && xyMouseMove . x <= x _bouton _suivant + w _bouton _suivant && xyMouseMove . y > y _bouton _suivant && xyMouseMove . y < y _bouton _suivant + h _bouton _suivant ) {
draw _rectangle ( x _bouton _suivant , y _bouton _suivant , w _bouton _suivant , h _bouton _suivant , "rgb(200, 200, 200)" , 0.6 )
}
}
function afficher _bouton _avant _explication _analyse ( ) {
w _bouton _avant = w _bouton _suivant
h _bouton _avant = h _bouton _suivant
x _bouton _avant = ( window . innerWidth / 2 ) - ( w _bouton _avant ) - 5
y _bouton _avant = y _bouton _suivant
// Bouton commencer
ctx . drawImage ( boutons [ "avant" ] , x _bouton _avant , y _bouton _avant , w _bouton _avant , h _bouton _avant )
// Survol
if ( xyMouseMove . x >= x _bouton _avant && xyMouseMove . x <= x _bouton _avant + w _bouton _avant && xyMouseMove . y > y _bouton _avant && xyMouseMove . y < y _bouton _avant + h _bouton _avant ) {
draw _rectangle ( x _bouton _avant , y _bouton _avant , w _bouton _avant , h _bouton _avant , "rgb(200, 200, 200)" , 0.6 )
}
}
////////////////////////////////////////////////////////////////////
///// MAIN
function traitement _explication _analyses ( ) {
ctx . clearRect ( 0 , 0 , canvas . width , canvas . height )
draw _rectangle ( 0 , 0 , canvas . width , canvas . height , "rgb(3, 26, 33)" , 1 ) // ou + clair 4, 38, 48
// variable position
x _texte = window . innerWidth * ( 1 / 10 )
w _texte = window . innerWidth * ( 8 / 10 )
font _texte = ( 0.012 * window . innerWidth ) + "pt Courier"
// titre commun à chaque page
affichage _titre ( titre , ( 0.018 * window . innerWidth ) + "pt Courier" , "#EF476F" )
// affichage texte
for ( let p = 0 ; p < explications _analyse _a _afficher . length ; p ++ ) {
dict _texte = explications _analyse _a _afficher [ p ]
affichage _texte _explication _analyse ( dict _texte . t , font _texte , dict _texte . c , x _texte , dict _texte . y , w _texte )
}
if ( num _explication _analyse < ( explications _analyse _page _1 . length ) - 1 ) {
// affichage bouton next
afficher _bouton _suivant _explication _analyse ( )
// si on clique sur next
if ( clicked && click _inside ( xyMouseDown , x _bouton _suivant , y _bouton _suivant , w _bouton _suivant , h _bouton _suivant ) ) {
// on passe aux texte suivant
action _bouton _suivant _explication _analyse ( )
}
} else {
// affichage bouton next
afficher _bouton _commencer _explication _analyse ( )
// si on clique sur next
if ( clicked && click _inside ( xyMouseDown , x _bouton _commencer , y _bouton _commencer , w _bouton _commencer , h _bouton _commencer ) ) {
// on passe aux texte suivant
action _bouton _commencer _explication _analyse ( )
}
}
//affichage bouton previous dès le deuxièeme texte
if ( num _explication _analyse > 0 ) {
// affichage bouton next
afficher _bouton _avant _explication _analyse ( )
//si on clique sur previous
if ( clicked && click _inside ( xyMouseDown , x _bouton _avant , y _bouton _avant , w _bouton _avant , h _bouton _avant ) ) {
// on passe aux texte suivant
action _bouton _avant _explication _analyse ( )
}
}
}
2023-03-18 20:26:13 +01:00
function action _clavier _explication _analyse ( event ) {
switch ( event . key ) {
// selectionner pose
// valider
case 'Enter' :
if ( num _explication _analyse < ( explications _analyse _page _1 . length ) - 1 ) {
action _bouton _suivant _explication _analyse ( ) }
else {
action _bouton _commencer _explication _analyse ( )
}
break ;
case 'Backspace' :
if ( num _explication _analyse > 0 ) {
action _bouton _avant _explication _analyse ( )
}
break ;
}
}
2023-03-18 19:05:16 +01:00
////////////////////////////////////////////////////////////////////
///// Textes
function init _textes _explication _analyses ( ) {
y _titre = 50
titre = "Analyze your choices"
color _blanc = "rgb(255,255,255)"
color _rouge = "rgb(239, 71, 111)"
explications _analyse = {
"texte0" : { "t" : "You have finished selecting the best viewpoints for each object." , "y" : window . innerHeight * 0.15 , "c" : color _blanc } ,
"texte1" : { "t" : "Now I ask you to justify your choices." , "y" : window . innerHeight * 0.25 , "c" : color _blanc } ,
2023-03-22 15:56:46 +01:00
"texte2" : { "t" : "For this, for some objects, the views you have chosen will reappear." , "y" : window . innerHeight * 0.38 , "c" : color _blanc } ,
2023-04-01 15:00:45 +02:00
"texte3" : { "t" : "For each of the viewpoints, you will have to select one or more reasons that made you decide to select these viewpoints. And order them from the most significant to the least." , "y" : window . innerHeight * 0.52 , "c" : color _blanc } ,
2023-03-18 19:05:16 +01:00
}
explications _analyse _page _1 = [ explications _analyse [ "texte0" ] , explications _analyse [ "texte1" ] , explications _analyse [ "texte2" ] , explications _analyse [ "texte3" ] ]
explications _analyse _a _afficher = [ explications _analyse [ "texte0" ] ]
}