Probleme de fonctions actionscript

Résolu
cs_gauz Messages postés 2 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 5 février 2008 - 5 févr. 2008 à 11:37
cs_gauz Messages postés 2 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 5 février 2008 - 5 févr. 2008 à 15:54
Bonjour,
J'ai un menu composé de boules qui bougent dans un espace en 3d. Les boules s'activent au clique de la souris et sa fonctionne parfaitement sauf que je voudrais modifier le script pour que les boules s'activent au survol par la souris.
Je pense que cela est défini par la fonction F_click(N) j'ai éssayé pas mal de chose en la remplacent par exemple par des rollover, flash ne me signale pas d'érreurs mais sa ne fonctionne pas.
Je vous laisse l'adresse de mon .fla défois que ce ne soit pas cette partit du code à modifier.
N'étant pas une lumière en action script mercie de m'expliquer simplement.
Voila si sa inspire quelqu'un mercie beaucoup, parce que la je ne sais plus du tout quoi éssayer...




Télécharger le FLA






function f_click(N)
{
    x_array = eval("x_array" + N).concat([]);
    y_array = eval("y_array" + N).concat([]);
    S_array = eval("S_array" + N).concat([]);
    D_array = eval("D_array" + N).concat([]);
    trace(x_array);
    ball1.f_move();
    ball2.f_move();
    ball3.f_move();
    ball4.f_move();
} // End of the function
function f_spring(obj, initY, spring, decspeed)
{
    var myY = obj._y;
    obj._y = initY;
    obj.speed = 5;
    var distance;
    var accel;
    obj.onEnterFrame = function ()
    {
        this.distance = -this._y + initY;
        this.accel = this.distance / spring;
        this.speed = this.speed + this.accel;
        this.speed = this.speed * decspeed;
        this._y = this._y + this.speed;
        if (Math.abs(accel) < 0.001000 && Math.abs(speed) < 0.010000)
        {
            delete this["onEnterFrame"];
            trace("spring");
        } // end if
    };
} // End of the function
x_array = [269, 474, 272, 269, 269, 318, 492, 432, 372, 224, 249, 471, 456, 485, 201, 403];
y_array = [128, 200, 350, 244, 295, 136, 236, 348, 281, 356, 132, 275, 261, 391, 267, 157];
S_array = [];
x_array1 = [269, 424, 172, 269];
x_array2 = [299, 258, 492, 432];
x_array3 = [372, 154, 249, 471];
x_array4 = [456, 485, 201, 303];
y_array1 = [128, 280, 400, 244];
y_array2 = [295, 86, 236, 428];
y_array3 = [281, 436, 82, 245];
y_array4 = [261, 421, 267, 120];
S_array1 = [100, 70, 50, 40];
S_array2 = [70, 100, 70, 50];
S_array3 = [50, 70, 100, 70];
S_array4 = [40, 50, 70, 100];
D_array1 = [1, 1, -1, 1];
D_array2 = [-1, 1, 1, -1];
D_array3 = [-1, -1, 1, 1];
D_array4 = [-1, 1, -1, 1];
this.createEmptyMovieClip("ballline", 1);
this.onEnterFrame = function ()
{
    v_x1 = ball1._x;
    v_y1 = ball1._y;
    v_x2 = ball2._x;
    v_y2 = ball2._y;
    v_x3 = ball3._x;
    v_y3 = ball3._y;
    v_x4 = ball4._x;
    v_y4 = ball4._y;
    with (ballline)
    {
        clear();
        lineStyle(1, 13390839, 40);
        moveTo(v_x1, v_y1);
        lineTo(v_x2, v_y2);
        lineTo(v_x3, v_y3);
        lineTo(v_x4, v_y4);
    } // End of with
};


http://www.g-auz.com/else4.fla

2 réponses

sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
5 févr. 2008 à 13:46
Yo !
J'suis allé faire un tour dans ton fla. J'comprends que t'aies du mal à t'y retrouver, c'est grave le bordel là dedans ! Surtout avec une bibliothèque remplie de clips nommés par défaut ("Symbol 12", "Symbol 13", "Symbol 14", etc...). Faut que tu les nommes toi même déjà, t'auras beaucoup + de facilité à t'organiser.
Donc j'ai trouvé l'action que tu cherchais : dans "Symbol 27" (??) :

this.onRelease = function ()
{
    _parent.f_click(ID);
    trace(this._name);
};
Tu pourras donc remplacer le onRelease par onRollOver.
Le nom de la fonction "f_click" n'y est pour rien : elle pourrait tout aussi bien s'appeler "f_double_cheese_burger". C'est juste qu'elle est appelée au clic.

Voilà, bon courage !
3
cs_gauz Messages postés 2 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 5 février 2008
5 févr. 2008 à 15:54
hep, nickel merci beaucoup !
Sa marche et j'ai aussi pu faire pointer mais liens et tous le tralala
0
Rejoignez-nous