Condition

wheel46 Messages postés 19 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 12 janvier 2004 - 19 août 2003 à 16:32
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009 - 19 août 2003 à 20:18
voila je voudrais quand fonction de se qu'on tape au clavier dans un text dynamique on face deux chose si la lettre est dans la case on affiche la case en la rendant visible et si c'est pas une bonne lettre on affiche un clip.
la condition pour afficher les lettre fonctionne mais pas pour les clips
voila mon code
c'est la partie "if (_root.recu !== (_root.ex[i+1], _root.ex[i+2], _root.ex[i+3], _root.ex[i+4], _root.ex[i+5]))"
qui n'a pas l'air de fonctionner il faudrais qu'il teste si c'est égale ou pas et dans mon cas si c'est pas égale il doit faire le reste sinon il affiche la bonne lettre. j'espere etre clair et que quelqu'un sauras m'aider
merci

on (release, keyPress "<Enter>") {
recu = saisie;
saisie = "";
if (_root.recu !== (_root.ex[i+1], _root.ex[i+2], _root.ex[i+3], _root.ex[i+4], _root.ex[i+5])) {
v = v+1;
if (v == 1) {
_root.trepied.nextFrame();
}
if (v == 2) {
_root.tete.nextFrame();
}
if (v == 3) {
_root.corps.nextFrame();
}
if (v == 4) {
_root.brasdroit.nextFrame();
}
if (v == 5) {
_root.brasgauche.nextFrame();
}
if (v == 6) {
_root.jambesgauche.nextFrame();
}
if (v == 7) {
_root.jambesdroite.nextFrame();
}
if (v == 8) {
_root.trepied.nextFrame();
v = 0;
}
}
if (_root.recu == _root.ex[i+1]) {
un._visible = false;
}
if (_root.recu == _root.ex[i+2]) {
deux._visible = false;
}
if (_root.recu == _root.ex[i+3]) {
trois._visible = false;
}
if (_root.recu == _root.ex[i+4]) {
quatre._visible = false;
}
if (_root.recu == _root.ex[i+5]) {
cinq._visible = false;
}
if (_root.recu == _root.ex[i+6]) {
six._visible = false;
}
}

2 réponses

lymfatx Messages postés 7 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 23 août 2003
19 août 2003 à 16:57
on peut faire ca ? pcq la plupart des langages n'acceptent pas ce genre de structure... il faut tester tout 1 a 1 genre :
if (_root.recu !== (_root.ex[i+1] && _root.recu !== _root.ex[i+2] && _root.recu !== _root.ex[i+3] && _root.recu !== _root.ex[i+4] && _root.recu !== _root.ex[i+5]))

enfin je crois. Mais chui pas un pro de l'action script alors bon
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
19 août 2003 à 20:18
salut,
dis moi lymfatx, ce ne serait pas plutot des || qu'il faut utiliser à la place des &&?
Cela dit, je pense à une soluce bien plus simple (je pars du principe que c'est pour un pendu que tu fais ce code et qu'il y a deux textes dynamiques a l'ecran: recu et resultat) :
resultat = "_____";
//on met autant de _ ou de * qu'il y a de lettre dans la solution
solution = "pendu";
if(solution.indexOf(_root.recu)==-1){
//on rajoute un membre au pendu
// ici j'ai rien mis, c'est à toi de développer...
}else{
//on affiche la lettre à la bonne position
for(i=0; i<=solution.length;i++){
if(solution.slice(i,i+1)==_root.recu){
resultat.concat(resultat.slice(0,i),_root.recu,resultat.slice(i+2,resultat.length);
}
}
if(solution == resultat){gotoAndPlay("gagner");}
}

bon c'est peut etre pas tout a fait juste, surtout au niveau du concat puisque j'ai pas testé, mais les conditions, elles, sont theoriquement justes...

bonne chance.
@+ tom
0
Rejoignez-nous