begin process at 2012 05 27 12:43:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

fonction qui fait ramer ma machine


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

fonction qui fait ramer ma machine

mercredi 18 juillet 2007 à 16:39:04 | fonction qui fait ramer ma machine

mikouRoux

Salut à tous,

Merci beaucoup pour votre aide ces dernier jours. Sans vous je ne serais jamais parvenu à faire mon petit programme.

A présent, tout commence à fonctionner comme je veux. Il ne reste qu'un seul souci, ma dernière foonction fait méchemment ramer mon PC

Cette fonction permet d'afficher aléatoirement des lignes qui apparaissent et disparaissent avec fondu entre des movieClip disposés sur ma page.

Je pense que l'erreur est lié au fait que je ne supprime jamais les fonctions chargées. Du coup, ca stock ca stock ca stock. Et au final, l'animation n'est plus fluide du tout.

Si quelqu'un pouvait m'expliquer comment résoudre ce problème ce serait génial.
Ci dessous le code (avec en rouge et à la fin la fonction qui plombe tout) :


// XML
var xml:XML =new XML();
xml.ignoreWhite=true;
xml.load("pctdata.xml");
stop();
xml.onLoad=function(){
    traceWire();
    trace(this.firstChild.childNodes[1-1].attributes.image);
    viewer_mc._visible=false;
    _global.fActiv=false;
    slide();
    play();
}
// focus on red dots
function onEnterFrame(){
    for(i=1; i<=16; i++){
        light(focus_mc=this['dot'+i+'_mc']);
        this['dot'+i+'_mc'].onPress = function(){
            var num = this._name.substring(3, this._name.length-3);
            _global.fTarget=(this._name);
            fleche(_global.fTarget);
            viewer_mc._visible = true;
            loadMovie(xml.firstChild.childNodes[num].attributes.image , _root.viewer_mc.roomPicture_mc)
        }
    }
}
function light(){
    dx = (focus_mc._x-_xmouse);
    dy = (focus_mc._y-_ymouse);
    focus_mc._alpha = Math.sqrt(dx*dx+dy*dy);
    focus_mc._height = 30*(200-focus_mc._alpha)/300;
    focus_mc._width = 30*(200-focus_mc._alpha)/300;
    focus_mc._alpha = 100*(200-focus_mc._alpha)/200;
    if (focus_mc._width<6){
        focus_mc._width=6;
        focus_mc._height=6;
    }
}
container_mc.onMouseMove = function(){
    resizeViewer();
}
function resizeViewer(){
        viewer_mc.roomMask_mc._width=_xmouse;
        viewer_mc.roomMask_mc._height=_ymouse;
        viewer_mc.roomMask_mc._x=0;
        viewer_mc.roomMask_mc._y=0;
        viewer_mc.roomPicture_mc._x=0;
        viewer_mc.roomPicture_mc._y=0;
        if (_xmouse>_ymouse*1.33){
            viewer_mc.roomPicture_mc._width=_xmouse;
            viewer_mc.roomPicture_mc._height=viewer_mc.roomPicture_mc._width/1.33;
        }else if(_xmouse<_ymouse*1.33){
            viewer_mc.roomPicture_mc._height=_ymouse;
            viewer_mc.roomPicture_mc._width=viewer_mc.roomPicture_mc._height*1.33;
        }
}
container_mc.onPress = function(){
    viewer_mc._visible = false;
    _root.line_mc.removeMovieClip();
}
function fleche(id){
    var posX = getProperty(id, _x)
    var posY = getProperty(id, _y)
    this.createEmptyMovieClip("line_mc", 1);
    line_mc.lineStyle(1, 0xff00ff, 100);
    line_mc.moveTo(_xmouse, _ymouse);
    line_mc.lineTo(posX, posY);
}
dureeAffichage = setInterval(function(){randomWire();}, 5000);



//////////////////////////////////////////////////////////////////////////////////////

/* FONCTION QUI FAIT RAMER MA MACHINE

--------------------------------------
function traceWire(){
    trace('wire');
    dotA = this['dot'+random(17)+'_mc'];
    dotB = this['dot'+random(17)+'_mc'];
    trace(dotA+" "+dotB);
    this.createEmptyMovieClip("randomLine_mc", 1);
    randomLine_mc.lineStyle(2, 0xffffff, 100);
    randomLine_mc.moveTo(dotA._x, dotA._y);
    randomLine_mc.lineTo(dotB._x, dotB._y);
    var opacity:Number=0;
    var flag:Number=0;
    setInterval(function(){fade()},10);
    function fade(){
        _root.randomLine_mc._alpha=opacity;
        if (flag==0){fadeIn()}
        if(flag==100){fadeOut()}
        function fadeIn(){
            trace(opacity);
            if(opacity>99){flag=100;}
            else {opacity++;}
        }
        function fadeOut(){
            trace(opacity);
            if(opacity<1){flag=0;}
            else {opacity--;}
            if (opacity<1){traceWire();};
        }
    }
}

jeudi 19 juillet 2007 à 16:50:14 | Re : fonction qui fait ramer ma machine

mikouRoux

Réponse acceptée !
C bon, j'ai trouvé la solution :

function traceWire(){
    dotA = this['dot'+random(17)+'_mc'];
    dotB = this['dot'+random(17)+'_mc'];
    trace("dotA : "+dotA+" dotB : "+dotB);
    this.createEmptyMovieClip("randomLine_mc", 1);
    randomLine_mc.lineStyle(2, 0xffffff, 100);
    randomLine_mc.moveTo(dotA._x, dotA._y);
    randomLine_mc.lineTo(dotB._x, dotB._y);
    var opacity:Number=0;
    var flag:Number=0;
    fadeInterval = setInterval(function(){fade()},10);
    function fade(){
        _root.randomLine_mc._alpha=opacity;
        if (flag==0){fadeIn()}
        if(flag==100){fadeOut()}
        function fadeIn(){
            if(opacity>99){flag=100;}
            else {opacity++;}
        }
        function fadeOut(){
            if(opacity<1){flag=0;}
            else {opacity--;}
            if (opacity<1){clearInterval(fadeInterval); traceWire();};
        }
    }



Cette discussion est classée dans : function, viewer, mc, focus, roompicture


Répondre à ce message

Sujets en rapport avec ce message

Un petit coup de main ne serai pas de refus ! Je n'ai rien trouvé dessus !!!! [ par badoux ] Voila, bonjour tout d'abord ! Voila j'ai crée le script qui charge un *.swf mais voila le probleme, dans le mc destiné a accueillir le swf, je fais u function() flashMX [ par 20156 ] Salut à tous;) bon voilà quelques temps que je me prends la tete pour faire une anim!! j'ai découvert les function() sur les didacticiels de flashMX a Passer des paramètres à une fonction [ par Gizmil ] Salut à tous, J'ai un petit problème, j'aimerais savoir comment faire passer des paramètres à une fonction. Le problème, c'est que l'aide de Flash ne Passer des paramètres à une fonction [ par Gizmil ] Salut à tous, J'ai un petit problème, j'aimerais savoir comment faire passer des paramètres à une fonction. Le problème, c'est que l'aide de Flash ne commande de lecture flv [ par 20156 ] Bonsoir,j'essaye de créer un retour en arriére dans une vidéo importer dans flash(mx2004 pro), mais ça ne fonctionne pas!!j'ai essayer plein de truc m Souci POO en AS2 [ par syndrael ] Bonjour, J'ai le code suivant: class myObjet extends MovieClip{     public var __ObjetId:Number;     public function myObjet () {     }  &nbs MovieClipLoader et interval [ par claviskass ] Salut !!Voici une base de code pour une galerie "thumbnail" via un fichier XML. Ce que je cherche a faire c’est de charger mes images une par une. J’a MOUSE ET POSITION à l'aide!!!!! [ par nikos69 ] Bonjour,je cherche à inclure une décélération sur le MC qui suit mon curseur, je ne suis pas loin mais impossible d'y arriver.CODE AS1--------------fu preload, dans une boucle ! [ par badoux ] Re bonjour, Voila j'ai encors une question, je dois crée un preload d'un une boucle qui duplique un mc suivant XML ! Comment faire ? Mon ActionScrip phototèque [ par nchahat ] Salut tous le monde. J'ai rédigé deux fonctions, l'une pr agrandir  et l'autre pour réduire une image.je duplique avc un duplicate movie le premier c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales