IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

galerie photo qui ne s'arrête pas (flash CS3)


Sujet :

Flash

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut galerie photo qui ne s'arrête pas (flash CS3)
    Bonjour,
    j'ai un petit souci avec la galerie photo de mon site internet.
    je suis débutante en action script donc je vous remercie d'avance pour votre aide.
    j'ai téléchargé un script de galerie photo que j'ai intégré à mon site (www.identitesfrancaises.com si vous voulez visionner le pb)
    lorsque l'on va sur la page galerie photo, ça marche nikel, mais dès que je change de page la galerie reste en place, par dessus les autres infos. En plus si l'on retourne sur la galerie, cela recharge le fichier encore par dessus...
    je ne sais pas si c'est très clair mais on voit mieux sur le site.

    en clair j'aimerais savoir comment stopper la galerie lorsque l'on change de page et éviter qu'elle ne se superpose à chaque fois que l'on retourne sur la page galerie.

    voici mon code

    //Création des variables
    var images:Array = new Array();
    var param:Array = new Array();
    var imageActu:Number;
    var imageNext:Number;
    var anneeate = new Date();
    //Viariables des intervals
    var interAlpha:Number;
    var interImage:Number;
    var interTest:Number;
    //Temps de pause par défaut
    var timeStart:Number = 1000;
    var timeBetween:Number = 500;
    //Variable pour la transition alpha
    var val_alpha:Number = 0;
    //Création des flags
    var image1:Boolean = false;
    var image2:Boolean = false;
    var init:Boolean = true;


    //MovieClip Conteneur1
    var conteneur1:MovieClip = this.createEmptyMovieClip("conteneur1", 2);
    var mclListener1:Object = new Object();
    var mcl1:MovieClipLoader = new MovieClipLoader();
    mcl1.addListener(mclListener1);
    conteneur1._x=250;
    conteneur1._y=300;
    //MovieClip Conteneur2
    var conteneur2:MovieClip = this.createEmptyMovieClip("conteneur2", 1);
    var mclListener2:Object = new Object();
    var mcl2:MovieClipLoader = new MovieClipLoader();
    mcl2.addListener(mclListener2);
    conteneur2._x=250;
    conteneur2._y=300;

    //Création d'un nouveau menu contextuel
    var rootMenu = new ContextMenu();
    rootMenu.hideBuiltInItems();
    var rootMenuItem = new ContextMenuItem("© "+annee.getFullYear()+" amandine", email);
    rootMenu.customItems.push(rootMenuItem);
    _root.menu = rootMenu;

    function email() {
    //getURL("amandine@identitesfrancaises.com", "_self");
    }


    //Chargement du fichier XML contenant la liste des photos
    var diapo:XML = new XML();
    diapo.ignoreWhite = true;
    diapo.load("diapo.xml");
    //Traitement une fois le chargement effectuer
    diapo.onLoad = function(success:Boolean) {
    if(success){
    //Creation des noeud
    var noeudImage:XMLNode = this.firstChild.childNodes[0];
    var noeudParam:XMLNode = this.firstChild.childNodes[1];
    for (var i:Number = 0; i<noeudImage.childNodes.length; i++){
    var temp:Object = new Object();
    temp.titre = noeudImage.childNodes[i].attributes.titre;
    temp.comm = noeudImage.childNodes[i].attributes.comm;
    temp.xTxt = noeudImage.childNodes[i].attributes.xTxt;
    temp.yTxt = noeudImage.childNodes[i].attributes.yTxt;
    images.push(temp);
    }
    for (var i:Number = 0; i<noeudParam.childNodes.length; i++){
    var temp:Object = new Object();
    temp.valeur = noeudParam.childNodes[i].attributes.valeur;
    temp.comm = noeudParam.childNodes[i].attributes.comm;
    param.push(temp);
    }
    imageInit();
    }
    }

    imageInit = function(){
    if((param[0].valeur == "true")|(param[0].valeur == undefined)){
    imageActu = randomNum(0, images.length-1);
    imageNext = randomNum(0, images.length-1);
    imageRandom();
    }else{
    imageActu = 0;
    imageNormal();
    }
    if(param[1].valeur != undefined){timeStart = param[1].valeur;}
    if(param[2].valeur != undefined){timeBetween = param[2].valeur;}
    mcl1.loadClip(images[imageActu].titre, conteneur1);
    mcl2.loadClip(images[imageNext].titre, conteneur2);
    }

    mclListener1.onLoadComplete = function(target:MovieClip):Void {
    image1 = true;
    if(init){
    if(image2){
    init = false;
    interImage = setInterval(_root,"imageSwap",timeStart);
    }
    }else{
    conteneur2.swapDepths(conteneur1);
    mcl2.loadClip(images[imageNext].titre, conteneur2);
    }
    }

    mclListener2.onLoadComplete = function(target:MovieClip):Void {
    image2 = true;
    if(init){
    if(image1){
    init = false;
    interImage = setInterval(_root,"imageSwap",timeStart);
    }
    }else{
    interImage = setInterval(_root,"imageSwap",timeBetween);
    }
    }

    imageSwap = function(){
    clearInterval(interImage);
    interAlpha = setInterval(this,"imageAlpha",6);
    }

    imageAlpha = function(){
    if(val_alpha < 100){
    conteneur1._alpha = (100-val_alpha);
    conteneur2._alpha = val_alpha;
    val_alpha += 1;
    }
    else{
    clearInterval(interAlpha);
    val_alpha = 0;
    imageActu = imageNext;
    if(param[0].valeur == "true"){
    imageRandom();
    }else{
    imageNormal();
    }
    conteneur1.swapDepths(conteneur2);
    conteneur1._alpha = 100;
    mcl1.loadClip(images[imageActu].titre, conteneur1);
    }
    }

    imageRandom = function(){
    while(imageActu == imageNext){
    imageNext = randomNum(0, images.length-1);
    }
    }

    imageNormal = function(){
    if(imageActu == images.length-1){
    imageNext = 0;
    }else{
    imageNext = imageActu+1;
    }
    }

    randomNum = function(min:Number, max:Number):Number{
    var num:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return num;
    }



    merci

  2. #2
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    C'est pas un probleme de flash mais de ton script ajax de changement de page (qui change la page sans la recharger)

    Pour pallier a ce probleme regarde dans ton code de changement de page et via javascript met l'animation flash a visible=false ou bien papote de javascript a flash avec ExternalInterface, ou les deux ...

    En espérant t'avoir aidé.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut galerie photo
    Bonjour et merci beaucoup pour ta réponse.
    le souci est que je n'y connait rien en javascript.
    Peut tu me dire à quel endroit je doit insérer visible=false

    merci beaucoup


    //v1.7
    // Flash Player Version Detection
    // Detect Client Browser type
    // Copyright 2005-2007 Adobe Systems Incorporated. All rights reserved.
    var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
    var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
    var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

    function ControlVersion()
    {
    var version;
    var axo;
    var e;

    // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

    try {
    // version will be set for 7.X or greater players
    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
    version = axo.GetVariable("$version");
    } catch (e) {
    }

    if (!version)
    {
    try {
    // version will be set for 6.X players only
    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

    // installed player is some revision of 6.0
    // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
    // so we have to be careful.

    // default to the first public version
    version = "WIN 6,0,21,0";

    // throws if AllowScripAccess does not exist (introduced in 6.0r47)
    axo.AllowScriptAccess = "always";

    // safe to call for 6.0r47 or greater
    version = axo.GetVariable("$version");

    } catch (e) {
    }
    }

    if (!version)
    {
    try {
    // version will be set for 4.X or 5.X player
    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
    version = axo.GetVariable("$version");
    } catch (e) {
    }
    }

    if (!version)
    {
    try {
    // version will be set for 3.X player
    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
    version = "WIN 3,0,18,0";
    } catch (e) {
    }
    }

    if (!version)
    {
    try {
    // version will be set for 2.X player
    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
    version = "WIN 2,0,0,11";
    } catch (e) {
    version = -1;
    }
    }

    return version;
    }

    // JavaScript helper required to detect Flash Player PlugIn version information
    function GetSwfVer(){
    // NS/Opera version >= 3 check for Flash plugin in plugin array
    var flashVer = -1;

    if (navigator.plugins != null && navigator.plugins.length > 0) {
    if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
    var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
    var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
    var descArray = flashDescription.split(" ");
    var tempArrayMajor = descArray[2].split(".");
    var versionMajor = tempArrayMajor[0];
    var versionMinor = tempArrayMajor[1];
    var versionRevision = descArray[3];
    if (versionRevision == "") {
    versionRevision = descArray[4];
    }
    if (versionRevision[0] == "d") {
    versionRevision = versionRevision.substring(1);
    } else if (versionRevision[0] == "r") {
    versionRevision = versionRevision.substring(1);
    if (versionRevision.indexOf("d") > 0) {
    versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
    }
    }
    var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
    }
    }
    // MSN/WebTV 2.6 supports Flash 4
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
    // WebTV 2.5 supports Flash 3
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
    // older WebTV supports Flash 2
    else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
    else if ( isIE && isWin && !isOpera ) {
    flashVer = ControlVersion();
    }
    return flashVer;
    }

    // When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
    function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
    {
    versionStr = GetSwfVer();
    if (versionStr == -1 ) {
    return false;
    } else if (versionStr != 0) {
    if(isIE && isWin && !isOpera) {
    // Given "WIN 2,0,0,11"
    tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
    tempString = tempArray[1]; // "2,0,0,11"
    versionArray = tempString.split(","); // ['2', '0', '0', '11']
    } else {
    versionArray = versionStr.split(".");
    }
    var versionMajor = versionArray[0];
    var versionMinor = versionArray[1];
    var versionRevision = versionArray[2];

    // is the major.revision >= requested major.revision AND the minor version >= requested minor
    if (versionMajor > parseFloat(reqMajorVer)) {
    return true;
    } else if (versionMajor == parseFloat(reqMajorVer)) {
    if (versionMinor > parseFloat(reqMinorVer))
    return true;
    else if (versionMinor == parseFloat(reqMinorVer)) {
    if (versionRevision >= parseFloat(reqRevision))
    return true;
    }
    }
    return false;
    }
    }

    function AC_AddExtension(src, ext)
    {
    if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?');
    else
    return src + ext;
    }

    function AC_Generateobj(objAttrs, params, embedAttrs)
    {
    var str = '';
    if (isIE && isWin && !isOpera)
    {
    str += '<object ';
    for (var i in objAttrs)
    {
    str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
    }
    else
    {
    str += '<embed ';
    for (var i in embedAttrs)
    {
    str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
    }

    document.write(str);
    }

    function AC_FL_RunContent(){
    var ret =
    AC_GetArgs
    ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
    , "application/x-shockwave-flash"
    );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
    }

    function AC_SW_RunContent(){
    var ret =
    AC_GetArgs
    ( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
    , null
    );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
    }

    function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
    var ret = new Object();
    ret.embedAttrs = new Object();
    ret.params = new Object();
    ret.objAttrs = new Object();
    for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();

    switch (currArg){
    case "classid":
    break;
    case "pluginspage":
    ret.embedAttrs[args[i]] = args[i+1];
    break;
    case "src":
    case "movie":
    args[i+1] = AC_AddExtension(args[i+1], ext);
    ret.embedAttrs["src"] = args[i+1];
    ret.params[srcParamName] = args[i+1];
    break;
    case "onafterupdate":
    case "onbeforeupdate":
    case "onblur":
    case "oncellchange":
    case "onclick":
    case "ondblclick":
    case "ondrag":
    case "ondragend":
    case "ondragenter":
    case "ondragleave":
    case "ondragover":
    case "ondrop":
    case "onfinish":
    case "onfocus":
    case "onhelp":
    case "onmousedown":
    case "onmouseup":
    case "onmouseover":
    case "onmousemove":
    case "onmouseout":
    case "onkeypress":
    case "onkeydown":
    case "onkeyup":
    case "onload":
    case "onlosecapture":
    case "onpropertychange":
    case "onreadystatechange":
    case "onrowsdelete":
    case "onrowenter":
    case "onrowexit":
    case "onrowsinserted":
    case "onstart":
    case "onscroll":
    case "onbeforeeditfocus":
    case "onactivate":
    case "onbeforedeactivate":
    case "ondeactivate":
    case "type":
    case "codebase":
    case "id":
    ret.objAttrs[args[i]] = args[i+1];
    break;
    case "width":
    case "height":
    case "align":
    case "vspace":
    case "hspace":
    case "class":
    case "title":
    case "accesskey":
    case "name":
    case "tabindex":
    ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
    break;
    default:
    ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
    }
    ret.objAttrs["classid"] = classid;
    if (mimeType) ret.embedAttrs["type"] = mimeType;
    return ret;
    }

  4. #4
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Oublie , je suis trop baka , j'avais pas regardé le code source de ton site en detail, je pensais c'était de l'ajax mais c'est du full flash

    Bon la solution a ton probleme est toujours un simple visible=false;

    Il faut faire : en actionscript ou tonClip est le nom de la variable dans laqu'elle tu charge la galerie ... Encore désolé

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par IP-Fix Voir le message
    Oublie , je suis trop baka , j'avais pas regardé le code source de ton site en detail, je pensais c'était de l'ajax mais c'est du full flash

    Bon la solution a ton probleme est toujours un simple visible=false;

    Il faut faire : en actionscript ou tonClip est le nom de la variable dans laqu'elle tu charge la galerie ... Encore désolé
    pas de problème merci de me répondre. Je ne vois pas trop comment intégrer ce que tu me dis car c'est un code que j'ai téléchargé, et je ne sais pas trop me servir des variables. est ce que je dois le mettre dans cette partie du code

    //Création des variables
    var images:Array = new Array();
    var param:Array = new Array();
    var imageActu:Number;
    var imageNext:Number;
    var anneeate = new Date();
    //Viariables des intervals
    var interAlpha:Number;
    var interImage:Number;
    var interTest:Number;
    //Temps de pause par défaut
    var timeStart:Number = 1000;
    var timeBetween:Number = 500;
    //Variable pour la transition alpha
    var val_alpha:Number = 0;
    //Création des flags
    var image1:Boolean = false;
    var image2:Boolean = false;
    var init:Boolean = true;

    ou j'ai essayé ici mais visiblement ça ne marche pas
    //MovieClip Conteneur1
    var conteneur1:MovieClip = this.createEmptyMovieClip("conteneur1", 2);
    var mclListener1:Object = new Object();
    var mcl1:MovieClipLoader = new MovieClipLoader();
    mcl1.addListener(mclListener1);
    conteneur1._x=250;
    conteneur1._y=300;
    conteneur1.visible=false
    //MovieClip Conteneur2
    var conteneur2:MovieClip = this.createEmptyMovieClip("conteneur2", 1);
    var mclListener2:Object = new Object();
    var mcl2:MovieClipLoader = new MovieClipLoader();
    mcl2.addListener(mclListener2);
    conteneur2._x=250;
    conteneur2._y=300;
    conteneur2.visible=false

    merci

  6. #6
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Je viens de lire ton code et j'ai découvert que c'était de l'as2 , je t'ai donné un code as3

    en as2 il y a plein de _ inutile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonClip._visible=false;
    Pour le placement a partir du petit bout de code que tu m'as montré je dirais plutot que c'est sur ton code de changement de page qu'il faut placer le _visible = false et non la creation des conteneur des images.

    bonne chance

Discussions similaires

  1. As typewriter qui ne s'arrête pas !
    Par Mirlipili dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 22/06/2007, 11h10
  2. [SQL] une requête qui ne s'arrête pas ou si loin
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/10/2006, 14h36
  3. Lancer une tâche planifiée qui ne s'arrête pas
    Par bart64 dans le forum Windows Serveur
    Réponses: 12
    Dernier message: 02/10/2006, 19h33
  4. [FLASH MX2004] Clip qui ne s'arrête pas
    Par romain starck dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 10/05/2006, 19h43
  5. [VBA-E]une boucle qui ne s'arrète pas
    Par vivelesgnous dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/02/2006, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo