Probleme d action sur bouton

longlife Messages postés 5 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 30 mars 2009 - 19 févr. 2009 à 14:43
longlife Messages postés 5 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 30 mars 2009 - 30 mars 2009 à 17:05
bonjour

j ai commencé la création d un site full flash. au niveau du graphisme pas de souci , par contre pour les actions la je sèche !!

je débute avec flash et je requier une petite aide pour le problème suivant.

je souhaite qu'a chaque click d'un bouton cela appele un clip "transition" mais je ne sait pas ou mettre ce script ?

vous pouvez voir le début de ma création et constater que je n ai fait que la partie graphisme.

Tout le site est dans le meme swf, je mettrais juste mes differentes pages sur des swf séparé et les ferais apellé lors des click (apres la transition)

la transition est un clip pour l ouverture et la reduction de la zone centrale avec un simple "stop" a la fin de l ouverture, je voudrais que lors d un click cela lance la fin de cette anim et la relance jusqu a la frame ou il y a le stop pour pouvoir apeller ensuite le swf qui compose le texte et image de chaque pages.

le mieus est de voir par vous meme le site car dur d expliquer.
http://longlife.ad.free.fr/

je suis preneur de toutes infos et remerci d avance ceux qui pouront m en approter

8 réponses

ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
20 févr. 2009 à 11:04
   Slt;
Tu créer un clip qui contiendra le swf chargé, tu lui donne un nom d'occurence et tu pose un code de ce genre :
    nomdoccurencedetonbouton.onRelease = function() {
                       nomdoccurenceduconteneur.loadMovieClip("tonclip.swf");
    }

Bonne chance
 
0
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
20 févr. 2009 à 11:05
ps : On orthographie : "Accueil" ^^
0
longlife Messages postés 5 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 30 mars 2009
20 févr. 2009 à 13:41
tout dabord merci pour tes infos ;o))

j ai du taper trop vite j avais pas vu la facon dont j avais ecrit accueil  ^^

bon pour ce qui est de mon probleme je comprend bien la facon dont tu me parle, j ai donc créé un clip conteneur avec un alpha de 0% pour charger le clip transition, et mis une occurence a chacuns des 4 boutons.

j ai essayé de placer le on release ..... sur le conteneur , sur le bouton , sur un calque a part , rien n y fait j obtiens toujour une erreur et le clip transition tourne en boucle au lieu de s arreter au stop prevu (ouvert) !
0
longlife Messages postés 5 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 30 mars 2009
25 févr. 2009 à 11:59
bon finalement j ai fait au plus simple j ai mis ca en action bouton en as 1 & 2

on (release) {
  loadMovie("http:/monsite/transition.swf", conteneur);

}

par contre comment faire pour que cela decharge le clip avant de charger le nouveau ( a chaque clik d un autre bouton ) ?

je cherche du coté des conditions mais je ne trouve pas ^^

j aimerai un truc du genre

si le conteneur est plein , finir de lire le clip qui est dedans jusqu a son action stop , puis charger le nouveau swf dans le meme conteneur !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
25 févr. 2009 à 12:08
  Salut;
Pour décharger un clip c'est : "unloadMovie()";
Pour le reste, là comme ça je pense qu'il faudrait que tu definisses une variable ou sera stocké le nom de ton clip (ou un index à toi de voir) et à la derniere image de chacun de tes clips tu charges le clip contenu dans ta variable.
       Bon courage.
0
longlife Messages postés 5 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 30 mars 2009
28 févr. 2009 à 19:53
ok donc ça avance doucement, j ai une petite question pour la page contact en fait j ai fait differents swf qui se charge dans un clip conteneur, et cela pour chaques boutons (chaques pages).

j aimerais pour le swf contact que lorsque le visiteur a cliqué sur le bouton "envoi" de mon formulaire , cela lance (si les champs requis sont rempli) un nouveau swf dans le conteneur avec un news swf qui mette la confirmation de l envoi ainsi qu un remerciement (remerciements.swf).

il y a egalement un clip qui charge des donné d une variable pour retourner les erreurs eventuelle sur le formulaire. (mc.status)

voila le code que j ai mis sur le bouton (envoi), il envoi bien le mail de confirmation au visiteur, un mail a moi , mais le swf de remerciement ne s ouvre pas et on a l impression que le messages n est pas posté (c juste une impression vu que les mail arrivent bien aux destinataires et le champ de texte mc.status rapporte bien le "Email envoyé" quand le mail est envoyé). c est dans la partie verte qu il y a souci mais je ne vois pas comment faire autrement ?

on (release) {
    if (signal != 2 && MailFrom .indexOf("@") !=-1 && MailFrom .indexOf(".") !=-1 && Subject !="" && Body !="" && firstname !="" && lastname !="") {
        signal=2;
        loadVariablesNum("flaform.php", 0, "POST");
        conteneur.load("http://longlife.ad.free.fr/remerciements.swf")
    }
    else if(Body == "") {
        mc.Status = "Votre message SVP";
    }
    if (Subject == "") {
        mc.Status = "L'objet de votre mail";
    }
       
    if ( MailFrom .indexOf("@") ==-1 ||  MailFrom .indexOf(".") ==-1) {
        mc.Status = "Email incorrect !";
    }
    if (lastname == "") {
        mc.Status = "Votre nom SVP";
        }
    if (firstname == "") {
        mc.Status = "Votre prénom SVP";
        }
}   

je suis preneur d info, car c mon premier site flash et c dur parfois ;o))

sur le clip mc.status j ai ce code

onClipEvent (load) {
    k = 0;
    j = 40;
}
onClipEvent (enterFrame) {
    if (_root.signal==1) {
        Status = "Email envoyé";
        k++;
        if (k>=40) {
            Status = "";
            _root.type.gotoAndStop(1);
            _root.signal = 0;
            _root.firstname = "";
            _root.lastname = "";
            _root.Subject = "";
            _root.MailFrom = "";
            _root.Body = "";
            _root.Phone = "";
            _root.Gsm = "";
            _root.descriptif ="";
            k = 0;
        }
    } else if (_root.signal==2) {
        Status = "Envoi des informations";
    }
}

merci d avance pour vos infos
0
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
2 mars 2009 à 12:09
  Salut;
Ne serait-ce pas parce que l'animaton est un peu lourde? as tu essayé de checker l'etat du download avec les fonctions getBytesTotal et getBytesLoaded?
  Bon courage, Kera.
0
longlife Messages postés 5 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 30 mars 2009
30 mars 2009 à 17:05
salut, je me remet au boulot sur ce petit site en flash et je suis encore bloqué du moins, j ai trouvé une galerie photo en full AS. j ai voulu l intégrer a mon site mais ca marche pas tres bien.

en fait le code est composé de beaucoup de "this" et du coup je pense que l anim crois que c pour les proprietées de la scene complete, du coup tout est décalé. (meme les image qui sortent carrément du champ ^^)

le code AS est le suivant

_global.SW = Stage.width;
_global.SH = Stage.height;
_global.SWsur2 = SW / 2;
_global.SHsur2 = SH / 2;
Stage.scaleMode = "exactFit";
//----------------------------------------------
MovieClip.prototype.rectangle_arrondi_ombre = function(larg, haut, rayon, epais, couleur, transp) {
    var mc = this.createEmptyMovieClip("rectangle_arrondi", 10000);
    mc.onLoad = function() {
        with (this) {
            for (var i = 6; i > 0; i -= .5) {
                lineStyle(2 * i, 0x000000, 40 - i * 6);
                moveTo(larg + i, rayon * .7 + 5 * i);
                lineTo(larg + i, haut - rayon + 2 * i);
                curveTo(larg, haut, larg - rayon + 2 * i, haut + i);
                lineTo(rayon * .7 + 5 * i, haut + i);
            }
            moveTo(rayon, 0);
            //-------------------
            lineStyle(epais, 0x000000, 100);
            beginFill(couleur, transp);
            moveTo(rayon, 0);
            lineTo(larg - rayon, 0);
            curveTo(larg, 0, larg, rayon);
            lineTo(larg, haut - rayon);
            curveTo(larg, haut, larg - rayon, haut);
            lineTo(rayon, haut);
            curveTo(0, haut, 0, haut - rayon);
            lineTo(0, rayon);
            curveTo(0, 0, rayon, 0);
            endFill();
        }
    };
    mc.onLoad();
};
//----------------------------------------------
this.createEmptyMovieClip("cadre", -1111);
cadre._x = 2;
cadre._y = 2;
cadre.rectangle_arrondi_ombre(SW - 4, SH - 4, SW / 0, 0, 0x996633, 0);
//----------------------------------------------
MovieClip.prototype.chargement_jpg = function(jpg, couleur, larg, haut) {
    var cible = this.dest;
    cible._alpha = 0;
    cible.loadMovie(jpg);
    var id = setInterval(function (mc) {
        var d = mc["dest"];
        if (d._width > 0) {
            clearInterval(id);
            d.memw = d._width;
            d.memh = d._height;
            d.proportion = (d._width / d._height);
            d._width = Math.floor(mc._w0 * 2);
            d._height = Math.floor(mc._h0 * 2);
            d._alpha = 99;
            with (d) {
                lineStyle(4, 0x444444, 80);
                moveTo(this._x + memw + 1, this._y - 1);
                lineTo(this._x + memw + 1, this._y + memh + 1);
                lineTo(this._x - 1, this._y + memh + 1);
                lineStyle(4, 0xaaaaaa, 80);
                lineTo(this._x - 1, this._y - 1);
                lineTo(this._x + memw + 1, this._y - 1);
            }
            // --------------------
            mc._alpha = 99;
            mc._width = mc._w0;
            mc._height = mc._h0 * 1.5;
            mc.onPress = cliquer;
        } else {
            var pourcent = (d.getBytesLoaded() / d.getBytesTotal());
            mc._width = pourcent * mc._w0;
            mc._height = pourcent * mc._h0 * 1.6;
        }
    }, 100, this);
};
// -----------------------------------------------------
MovieClip.prototype.cliquer = function() {
    _global.memoire.swapDepths(0);
    _global.memoire.relacher();
    if (_global.memoire != this) {
        _global.memoire = this;
        //---------------------
        delete this.onEnterFrame;
        //---------------------
        var grossissement_V = SH * .9;
        var grossissement_H = grossissement_V * this.dest.proportion;
        var positiont_V = SHsur2 * 1.1;
        //---------------------
        this._alpha = 99;
        this.swapDepths(_root.niveau++);
        //---------------------
        var x_deb = this._x;
        var y_deb = this._y;
        var dis_x = (SWsur2 - x_deb) / 2;
        var dis_y = (positiont_V - y_deb) / 2;
        var vitesse = Math.PI / 20;
        var angle = -Math.PI;
        var limite = -Math.PI / 3.3;
        var decalage = Math.PI / 6;
        //------------------------------------
        this.onEnterFrame = function() {
            angle += vitesse;
            s = 1 + Math.cos(angle - Math.sin(angle - decalage));
            this._x = x_deb + s * dis_x;
            this._y = y_deb + s * dis_y;
            this._width += (grossissement_H - this._width) / 5;
            this._height += (grossissement_V - this._height) / 3;
            //---------------------
            if (angle >= limite) {
                this._width = grossissement_H;
                this._height = grossissement_V;
                delete this.onEnterFrame;
            }
        };
    }
};
// -----------------------------------------------------
MovieClip.prototype.relacher = function() {
    delete this.onEnterFrame;
    this.onEnterFrame = function() {
        this._width += (this._w0 - this._width) / 4;
        this._height += (this._h0 - this._height) / 4;
        this._x += (this._x0 - this._x) / 4;
        this._y += (this._y0 - this._y) / 4;
        if (this._yscale < 70) {
            this._width = this._w0;
            this._height = this._h0 * 1.5;
            this._x = this._x0;
            this._y = this._y0;
            this._alpha = 50;
            delete this.onEnterFrame;
        }
    };
};
// -----------------------------------------------------
MovieClip.prototype.creons = function(tableau) {
    var L = SW / (tableau.length + 2);
    L = Math.floor(L * .9);
    var M = L + 5;
    for (var i = 0; i < tableau.length; i++) {
        clip = this.createEmptyMovieClip("cadre" + i, i);
        clip.onLoad = function() {
            //--------------------
            this._alpha = 30;
            this.lineStyle(4, 0, 20);
            this.moveTo(-(L + 2), L);
            this.lineTo(M, L);
            this.lineTo(M, -(L - 3));
            // --------------------
            this.moveTo(M, -L);
            this.lineStyle(0, 0x999999);
            this.beginFill(0xfff6f0, 100);
            this.lineTo(-M, -L);
            this.lineTo(-M, L);
            this.lineStyle(0, 0);
            this.lineTo(M, L);
            this.lineTo(M, -L);
            this.endFill();
            //--------------------
            this._x0 = (1.2 * (i + 1)) * L;
            this._y0 = L;
            this._x = this._x0;
            this._y = this._y0;
            //--------------------
            this._w0 = L + 3;
            this._h0 = L - 5 + 3;
            this._width = this._w0;
            this._height = this._h0;
            //--------------------
            this.createEmptyMovieClip("dest", i + 200);
            //--------------------
            this.dest.onLoad = function() {
                this._x = -L - 3;
                this._y = -L + 2;
                var ladress = tableau[i] + "?" + random(99999);
                var ladress = tableau[i];
                this._parent.chargement_jpg(ladress, 0xff8800, 20, 50);
            };
            this.dest.onLoad();
        };
        clip.onLoad();
    }
};
niveau = 10000;
_global.fichier = [];
_global.repertoire = "http://longlife.ad.free.fr/gallerie/";
//------------------------------------------------------
fichier[0] = "1.jpg";
fichier[1] = "2.jpg";
fichier[2] = "3.jpg";
fichier[3] = "4.jpg";
fichier[4] = "5.jpg";
fichier[5] = "6.jpg";
fichier[6] = "7.jpg";
fichier[7] = "8.jpg";
//etc... fichier[n] = "n.jpg";
/**/
for (var i = 0; i < fichier.length; i++) {
    fichier[i] = repertoire + fichier[i];
}
this.createEmptyMovieClip("photogalerie", 0);
photogalerie.creons(fichier);
0