[DIR MX] barre de progression inversée ?

Le
Twinky
Hello

j'ai réalisé une barre de progression qui indique le temps
restant pour répondre à une question, dans le sens traditionnel
cad de gauche à droite pas de probleme, mais c'est dans l'autre
sens que ca bidouille

je m'explique pour avoir ma progressbar, j'utilise 2 bitmap
le 1er (cadre noir, degradé vert=>rouge) en fond avec bordure
et le 2em (rectangle mono couleur) par dessus d'une largeur
de 100 px et non de 1 px ( le regpoint est situé en Haut à Droite
de l'image 2 et non en Haut à gauche ) l'image 2 sert d'incrémentation,
mais voila, je veux partir de 100 pour aller à 0, mais c'est l'effet
inverse qui se produit

voir la section ******

Merci pour l'aide apportée

Twinky


--////////////////////////////////////////////////// script de comportement /////////////////////////////////
global QuestionDelay

on beginsprite
QuestionDelay = 30 -- 30 sec par question
startTimer -- remettre Timer à zero
end if

on exitframe
-- décompte du Timer une fois Timer atteint on passe à la frame suivante
if float(the timer) > (float(60) * float(QuestionDelay)) then
-- go to marker(FrameLabelReponseList[IndexFrameLabel])
go the frame +1
else
-- progression de la progressbar // 100 = largeur de la progressbar
-- progression de 0 à 100 // sens de 0 > 100
--sprite(54).width = 100 / ((float(60) * float(QuestionDelay)) / float(the timer))

-- progression de 100 à 0 // sens 100 > 0
******* ici ca marche bien de droite à gauche mais je pars de 0 pour arriver à 100 alors
que je souhaite faire l'inverse. Partir de 100 et aller à 0 *******
sprite(54).width = 100 / (float(60) * float(QuestionDelay)) * float(the timer)

put "largeur progress"&&sprite(54).width

-- afficher le nb de sec
TempsEcoule = QuestionDelay / ((float(60) * float(QuestionDelay)) / float(the timer))
--if TempsEcoule < 10 then TempsEcoule = "0"&TempsEcoule
member("temps ecoule").text = string("Temps écoulé"&&TempsEcoule&&"sec")
--put "Temps écoulé"&&TempsEcoule
end if
go the frame
end
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ned
Le #17159511
"Twinky" news:c652om$c2d$
| Hello
|
| j'ai réalisé une barre de progression qui indique le temps
| restant pour répondre à une question, dans le sens traditionnel
| cad de gauche à droite pas de probleme, mais c'est dans l'autre
| sens que ca bidouille...
|
| je m'explique pour avoir ma progressbar, j'utilise 2 bitmap
| le 1er (cadre noir, degradé vert=>rouge) en fond avec bordure
| et le 2em (rectangle mono couleur) par dessus d'une largeur
| de 100 px et non de 1 px ( le regpoint est situé en Haut à Droite
| de l'image 2 et non en Haut à gauche ) l'image 2 sert d'incrémentation,
| mais voila, je veux partir de 100 pour aller à 0, mais c'est l'effet
| inverse qui se produit...
|
| voir la section ******
|
| Merci pour l'aide apportée
|
| Twinky
|
|
| --////////////////////////////////////////////////// script de
comportement /////////////////////////////////
| global QuestionDelay
|
| on beginsprite
| QuestionDelay = 30 -- 30 sec par question
| startTimer -- remettre Timer à zero
| end if
|
| on exitframe
| -- décompte du Timer une fois Timer atteint on passe à la frame
suivante
| if float(the timer) > (float(60) * float(QuestionDelay)) then
| -- go to marker(FrameLabelReponseList[IndexFrameLabel])
| go the frame +1
| else
| -- progression de la progressbar // 100 = largeur de la progressbar
| -- progression de 0 à 100 // sens de 0 ===> 100
| --sprite(54).width = 100 / ((float(60) * float(QuestionDelay)) /
float(the timer))
|
| -- progression de 100 à 0 // sens 100 ===> 0
| ******* ici ca marche bien de droite à gauche mais je pars de 0 pour
arriver à 100 alors
| que je souhaite faire l'inverse. Partir de 100 et aller à 0 *******
| sprite(54).width = 100 / (float(60) * float(QuestionDelay)) * float(the
timer)
|
| put "largeur progress"&&sprite(54).width
|
| -- afficher le nb de sec
| TempsEcoule = QuestionDelay / ((float(60) * float(QuestionDelay)) /
float(the timer))
| --if TempsEcoule < 10 then TempsEcoule = "0"&TempsEcoule
| member("temps ecoule").text = string("Temps
écoulé"&&TempsEcoule&&"sec")
| --put "Temps écoulé"&&TempsEcoule
| end if
| go the frame
| end



pas le temps de me plonger dans to code, mais une ptite suggestion :

sprite(54).width = 100 - (...ce que tu faisais déjà ...)

à priori ça devrait "inverser" la progression, non ?

--
------------------
Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
Twinky
Le #17159501
Hello Ned

merci pour ta réponse
mais non le sprite(54).width = 100 - ( marche pas )
ca donne un effet clignottant avec une barre
de progress de 30452 pixel de large
en fait la largeur est aléatoire comme s'il y avait
un random()

je continue mes formules, ya pas de raison pour que
cela ne marche pas

Twinky
Twinky
Le #17159481
thx again Ned

ca progresse avec cette ligne, ca démarre bien à 100 jusqu'à 0
mais la progressbar défile encore trop vite, ya plus qu'à chercher le frein
et ca sera bon :o)
sprite(54).width = 100 - (float(the timer) / (float(60) / float(QuestionDelay)))

et non pas comme j'avais mis
sprite(54).width = 100 / (float(60) * float(QuestionDelay)) * float(the timer)

Twinky
Twinky
Le #17159351
Hello

et quelques heures plus tard...

voila la bonne ligne
sprite(54).width = 100 - (100 / ((float(60) * float(QuestionDelay)) / float(the timer)))

pourquoi chercher de midi à minuit sachant qu'en plus
j'avais pratiquement la soluce sous les yeux avec cette ligne la
-- afficher le nb de sec
TempsEcoule = QuestionDelay / ((float(60) * float(QuestionDelay)) / float(the timer))


Twinky
Publicité
Poster une réponse
Anonyme