slt.
j'ai commencer a faire un petit exercice qui permet a de changer le couleur de fond d'une animation selon le couleur que l'utilisateur ecrit. le changement ce fait en cliquant sur un bouton validé et j'ai mis ce script sur le bouton :
on mouseUp me
set valeur = the text of member "couleur"
Case valeur of
"bleu" : set the forecolor of sprite 2 to 210
"rouge": set the forecolor of sprite 2 to 6
"jaune": set the forecolor of sprite 2 to 4
"noir": set the forecolor of sprite 2 to 255
"vert": set the forecolor of sprite 2 to 222
Otherwise set the forecolor of sprite 2 to 0
End case
end
Remarque:
couleur : le champ text dans lequel on va taper le text
sprite2: j'ai dessiné un rectangle sur la scène sur lequel je veut appliquer la couleur
simplement il se passe rien et aucun message d'erreur !!! est ce que vous pouvez m'aider svp
Nos formations à venir :
lingo
Débuté par zanoubya, mars 02 2011 06:30
#1
Posté 02 mars 2011 - 06:30
#2
Posté 02 mars 2011 - 10:33
Forecolor ne s'applique pas à tous les types de sprites, ou alors assez mal.
Pour un sprite qui affiche un membre text ou field, cela va changer la couleur du texte.
Pour un bitmap, ça peut faire un peu n'importe quoi. En fait, il ne faudrait utiliser forecolor que pour les bitmaps de 1 bit (noir et blanc).
Avec ton code, director essaye de modifier la couleur d'un bitmap, mais qu'est-ce que ça signifie vraiment ? Remplace le membre du sprite 2 par un membre text avec du texte écrit dedans, ou alors avec un bitmap entièrement noir, et là tu verras quelque chose.
Sinon, je suppose que tu as trouvé ce code dans un livre ou sur un site. Il est extrêmement daté, le lingo a beaucoup évolué depuis. A moins que tu n'utilises un vieux director (avant le 8.5), je te conseille fortement de te mettre de suite au lingo pointé. Un exemple en reprenant ton code avec cette notation (forecolor est à oublier, j'utilise color à la place :
on mouseUp me
valeur=member("couleur").text
Case valeur of
"bleu":
sprite(2).color=rgb(0,0,255)
"rouge":
sprite(2).color=rgb(255,0,0)
"jaune":
sprite(2).color=rgb(255,255,0)
"noir":
sprite(2).color=rgb(0,0,0)
"vert":
sprite(2).color=rgb(255,0,0)
Otherwise
sprite(2).color=rgb(0,255,255)
End case
end
Pour un sprite qui affiche un membre text ou field, cela va changer la couleur du texte.
Pour un bitmap, ça peut faire un peu n'importe quoi. En fait, il ne faudrait utiliser forecolor que pour les bitmaps de 1 bit (noir et blanc).
Avec ton code, director essaye de modifier la couleur d'un bitmap, mais qu'est-ce que ça signifie vraiment ? Remplace le membre du sprite 2 par un membre text avec du texte écrit dedans, ou alors avec un bitmap entièrement noir, et là tu verras quelque chose.
Sinon, je suppose que tu as trouvé ce code dans un livre ou sur un site. Il est extrêmement daté, le lingo a beaucoup évolué depuis. A moins que tu n'utilises un vieux director (avant le 8.5), je te conseille fortement de te mettre de suite au lingo pointé. Un exemple en reprenant ton code avec cette notation (forecolor est à oublier, j'utilise color à la place :
on mouseUp me
valeur=member("couleur").text
Case valeur of
"bleu":
sprite(2).color=rgb(0,0,255)
"rouge":
sprite(2).color=rgb(255,0,0)
"jaune":
sprite(2).color=rgb(255,255,0)
"noir":
sprite(2).color=rgb(0,0,0)
"vert":
sprite(2).color=rgb(255,0,0)
Otherwise
sprite(2).color=rgb(0,255,255)
End case
end
#3
Posté 03 mars 2011 - 11:53
c'est juste pour le fun mais j'aime compacter les scripts...
on mouseUp me
colorTable=[#bleu:0,#rouge:1,#vert:2,#jaune:3,#noir:4,#defaut:6]
col = colorTable[ symbol( member("couleur").text ) ]
if col = void then col = colorTable[#defaut]
sprite(2).color=color( col )
end
colorTable=[#bleu:0,#rouge:1,#vert:2,#jaune:3,#noir:4,#defaut:6]
col = colorTable[ symbol( member("couleur").text ) ]
if col = void then col = colorTable[#defaut]
sprite(2).color=color( col )
end
Modifié par papwal, 03 mars 2011 - 11:55 .
1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)









