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 } ,
"texte3" : { "t" : "For each of the viewpoints, you will have to select one or more reasons that made you decide to select these viewpoints." , "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" ] ]
}