Forums Développement Multimédia

Aller au contenu

lingo

Director

2 réponses à ce sujet

#1 zanoubya

    Ceinture Blanche

  • Members
  • Pip
  • 1 messages

Posté 02 March 2011 - 19:30 PM

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

#2 bubarnet

  • Members
  • PipPipPipPipPipPipPipPip
  • 615 messages

Posté 02 March 2011 - 23:33 PM

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  
 


#3 papwal

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 201 messages

Posté 03 March 2011 - 12:53 PM

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

Modifié par papwal, 03 March 2011 - 12:55 PM.




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP