Récupérer les valeur de plusiseur clip

Résolu
vice2006 Messages postés 13 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 31 octobre 2008 - 30 oct. 2008 à 18:27
vice2006 Messages postés 13 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 31 octobre 2008 - 31 oct. 2008 à 11:01
Bonjour à tous !
désolé pour le titre qui n'est pas très clair mais mon problème est asse compliqué à expliquer (surtout en une ligne)
Alors voila, en gros je fais une page de login pour une application et je voudrai transférer mes valeurs par flashvar une foi tout les champs rempli...
j'ai donc un clavier numérique à 10 touches et je ne peut rentrer que 5 chiffre
j'ai plus ou moins fait le truc comme ça :

BTerase._alpha = 0;
BTerase.scaleTo(95,0,"linear");
BTok._alpha = 0;
BTok.scaleTo(95,0,"linear");

BT1.onRelease = function() {
    ClickButton("1");
};
BT2.onRelease = function() {
    ClickButton("2");
};
BT3.onRelease = function() {
    ClickButton("3");
};
BT4.onRelease = function() {
    ClickButton("4");
};
BT5.onRelease = function() {
    ClickButton("5");
};
BT6.onRelease = function() {
    ClickButton("6");
};
BT7.onRelease = function() {
    ClickButton("7");
};
BT8.onRelease = function() {
    ClickButton("8");
};
BT9.onRelease = function() {
    ClickButton("9");
};
BT10.onRelease = function() {
    ClickButton("10");
};

tcheckCode = function () {
    if (code == 5) {
        trace("code == 5");
        BT1.enabled = false;
        BT2.enabled = false;
        BT3.enabled = false;
        BT4.enabled = false;
        BT5.enabled = false;
        BT6.enabled = false;
        BT7.enabled = false;
        BT8.enabled = false;
        BT9.enabled = false;
        BT10.enabled = false;
        BTerase._alpha = 100;
        BTerase.scaleTo(100,1,"easeOutBounce");
        BTok._alpha = 100;
        BTok.scaleTo(100,1,"easeOutBounce");
    }
};
tcheckButon = function () {
    BT1.enabled = true;
    BT2.enabled = true;
    BT3.enabled = true;
    BT4.enabled = true;
    BT5.enabled = true;
    BT6.enabled = true;
    BT7.enabled = true;
    BT8.enabled = true;
    BT9.enabled = true;
    BT10.enabled = true;
};
function ClickButton(pButton) {
    code = code+1;
    tt = container_code.attachMovie("BT"+pButton, "pos"+code, 20+code);
    tt._x = container_code._x+(30*code);
    tt._y = container_code._y+25;
   
    tcheckCode();
    trace(code);
}

BTerase.onRelease = function() {
    removeMovieClip(container_code.pos1);
    removeMovieClip(container_code.pos2);
    removeMovieClip(container_code.pos3);
    removeMovieClip(container_code.pos4);
    removeMovieClip(container_code.pos5);
    BTerase._alpha = 0;
    BTerase.scaleTo(95,0,"linear");
    BTok._alpha = 0;
    BTok.scaleTo(95,0,"linear");
    code = 0;
    tcheckButon();
};

BTok.onRelease = function() {
    trace("user ID = "+UserId  "et c'est donc ici que je voudrai récupérer la valeur de chaque chifre entrés" );
};

code = 0;

donc voila je sais le code est afreux mais je suis vraiment pas codeur je n'en ai surtout pas la logique
je sais aussi j'aurai du faire des boucles pour tous les "visible" de chaque bouton mais je ne maitrise pas ça du tout
mais mon probleme est donc le suivant je voudrait pouvoir une foi le bouton OK cliqué récupéré chaque nombre qui aurait été entré...
alor on m'as parlé de parse, de split et de string mais pour moi c'est du chinois
oui je sais c'est la honte
mais j'ai vraiment besoin de vous pour finir ce Q>f{d#sfw@cv#{l}qv truc à mot de passe
Merci d'avance
( si  besoin est je peut proposé mes service de graphiste à qui sera m'aider )

4 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
31 oct. 2008 à 10:01
Salut,

effectivement c'est un peut redondant toutes ces lignes de code...
Je te propose une solution plus concise ci-dessous. Je garanti pas que ca va marcher... je l'ai écrite sous notepad

var timeLine:MovieClip=this // référence à la scene principale pour les fonctions
var code_ar:Array=new Array() // tableau qui va contenir les touches pressées

BTok.onRelease = function() {
    trace("user ID = "+ code_ar.join(""));
    trace("user ID separé = "+ code_ar.join("-"));
    for (var i:Number=0;i<code_ar.length; i++){
        trace('Chiffre '+(i+1)+' > '+code_ar[i])
    }
};

BTerase.onRelease = function() {
    // on ne retire que les movieclip qui ont été placés
    for (var i:Number=0;i<code_ar.length; i++){
        timeLine.container_code['pos'+(i+1)].removeMovieClip()
    }
    code_ar=new Array()
    enableBTN(true)
};

// initialisation des boutons
function initBTN(){
    for (var i:Number=1;i<11;i++){
        timeLine['BT'+i].id=i;
        timeLine['BT'+i].onRelease=function(){
            checkCode(this.id)
        }
    }
    enableBTN(true)
}

// fonction qui active/désactive les boutons selon le parametre transmi à la fonction
function enableBTN(bool:Boolean){
    for (var i:Number=1;i<11;i++){
        timeLine['BT'+i].enabled=bool;
    }
    if(bool){
        timeLine.BTerase._alpha = 0;
        timeLine.BTerase.scaleTo(95,0,"linear");
        timeLine.BTok._alpha = 0;
        timeLine.BTok.scaleTo(95,0,"linear");
    }else{
        timeLine.BTerase._alpha = 100;
        timeLine.BTerase.scaleTo(100,1,"easeOutBounce");
        timeLine.BTok._alpha = 100;
        timeLine.BTok.scaleTo(100,1,"easeOutBounce");
    }
}

function checkCode  (id:Number) {
    // on ajoute le chiffre pressé a notre tableau code_ar
    code_ar.push(id)
    var codeLength=code_ar.length;
    var tt:MovieClip = timeLine.container_code.attachMovie("BT"+id, "pos"+codeLength, 20+codeLength);
    tt._x = container_code._x+(30*codeLength);
    tt._y = container_code._y+25;
    if (code_ar.length== 5) {
         enableBTN(false)
    }
};
initBTN()
stop()   

@+
3
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
31 oct. 2008 à 10:01
Salut,

effectivement c'est un peut redondant toutes ces lignes de code...
Je te propose une solution plus concise ci-dessous. Je garanti pas que ca va marcher... je l'ai écrite sous notepad

var timeLine:MovieClip=this // référence à la scene principale pour les fonctions
var code_ar:Array=new Array() // tableau qui va contenir les touches pressées

BTok.onRelease = function() {
    trace("user ID = "+ code_ar.join(""));
    trace("user ID separé = "+ code_ar.join("-"));
    for (var i:Number=0;i<code_ar.length; i++){
        trace('Chiffre '+(i+1)+' > '+code_ar[i])
    }
};

BTerase.onRelease = function() {
    // on ne retire que les movieclip qui ont été placés
    for (var i:Number=0;i<code_ar.length; i++){
        timeLine.container_code['pos'+(i+1)].removeMovieClip()
    }
    code_ar=new Array()
    enableBTN(true)
};

// initialisation des boutons
function initBTN(){
    for (var i:Number=1;i<11;i++){
        timeLine['BT'+i].id=i;
        timeLine['BT'+i].onRelease=function(){
            checkCode(this.id)
        }
    }
    enableBTN(true)
}

// fonction qui active/désactive les boutons selon le parametre transmi à la fonction
function enableBTN(bool:Boolean){
    for (var i:Number=1;i<11;i++){
        timeLine['BT'+i].enabled=bool;
    }
    if(bool){
        timeLine.BTerase._alpha = 0;
        timeLine.BTerase.scaleTo(95,0,"linear");
        timeLine.BTok._alpha = 0;
        timeLine.BTok.scaleTo(95,0,"linear");
    }else{
        timeLine.BTerase._alpha = 100;
        timeLine.BTerase.scaleTo(100,1,"easeOutBounce");
        timeLine.BTok._alpha = 100;
        timeLine.BTok.scaleTo(100,1,"easeOutBounce");
    }
}

function checkCode  (id:Number) {
    // on ajoute le chiffre pressé a notre tableau code_ar
    code_ar.push(id)
    var codeLength=code_ar.length;
    var tt:MovieClip = timeLine.container_code.attachMovie("BT"+id, "pos"+codeLength, 20+codeLength);
    tt._x = container_code._x+(30*codeLength);
    tt._y = container_code._y+25;
    if (code_ar.length== 5) {
         enableBTN(false)
    }
};
initBTN()
stop()   

@+
3
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
31 oct. 2008 à 10:01
Oups, double post...

@+
3
vice2006 Messages postés 13 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 31 octobre 2008
31 oct. 2008 à 11:01
Gloire à toi oooOOÔOOoooooo Girou !!!
il me semble que tu m'avais déjà aider il y as un bon bout de temps
et encore une fois tu me sort une belle épine du pied
vraiment MERCI !!!!
si tu as besoin de quoi que ce soit (flyer,charte de site,logo) n'hésite pas ce serait avec plaisir pi si ça te plait pas ça mange pas de pain
MERCI encore !!
allé...
bisous heinh
0
Rejoignez-nous