Réaliser un fade in de mon menu en AS

way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011 - 23 mai 2007 à 00:51
way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011 - 23 mai 2007 à 13:26
Bonjour,

Grâce à votre aide j'ai déjà un peu avancé dans mon script ;-)

Maintenant j'ai réussi à enchainer la deuxième animation à la suite de la première, j'aimerais maintenant créer un effet de fade in sur mon menu rotatif parce que maintenant il apparaît brutalement. Comme ce menu est généré via AS je dois donc à mon avis coder ce tweening...

Je ne vois pas très bien où insérer ça dans mon code, c'est l'apparition du menu que je veux "tweener", j'aimerais aussi également ralentir la rotation des objets du menu mais je ne vois pas très bien comment intervenir sur ce paramètre ...

Merci d'avance pour votre aide !

Voici mon code (placé sur la frame 465 faisant suite à la première partie de mon animation) :

import flash.filters.BlurFilter;

links = new Array();
links[1] = ["#", "websites", "W"];
links[2] = ["#", "creativity", "C"];
links[3] = ["#", "design", "D"];
links[4] = ["#", "flexibility", "F"];
links[5] = ["#", "graphics", "G"];
links[6] = ["#", "development", "D"];

posX = Stage.width/2;
posY = (Stage.height/2)+50;

angle = links.length-1;
for (var i = 1; i<angle+1; i++) 
{
    attachMovie("menu", "menu"+i, i);
    this["blur"+i] = new BlurFilter(5, 5, 2);
}

_global.rotating = true;
mousePos = ((_root._xmouse-posX)/100);

this.onEnterFrame = function() 
{
    if (rotating) 
    {
        mousePos += ((_root._xmouse-posX)/100);
        for (var i = 1; i<angle+1; i++) 
        {
            depth = ((mousePos+(360/angle*i))*Math.PI)/180;
            this["menu"+i]._x = posX+(Math.sin(depth)*300);
            this["menu"+i]._y = posY+(Math.cos(depth)*83);
            this["menu"+i]._xscale = 100+(Math.cos(depth)*50);
            this["menu"+i]._yscale = 100+(Math.cos(depth)*50);
            this["menu"+i].swapDepths(1000+(Math.cos(depth)*100));
            distance = this["menu"+i].getDepth()-900;
            distance = Math.round(distance/40);
            if (distance == 5) 
            {
                this["blur"+i].blurX = 0;
                this["blur"+i].blurY = 0;
                this["menu"+i].filters = [this["blur"+i]];
                this["menu"+i].highlight_mc.play();
            }
            if (distance == 4) 
            {
                this["blur"+i].blurX = 1;
                this["blur"+i].blurY = 1;
                this["menu"+i].filters = [this["blur"+i]];
            }
            if (distance == 3) 
            {
                this["blur"+i].blurX = 2;
                this["blur"+i].blurY = 2;
                this["menu"+i].filters = [this["blur"+i]];
            }
            if (distance == 2) 
            {
                this["blur"+i].blurX = 3;
                this["blur"+i].blurY = 3;
                this["menu"+i].filters = [this["blur"+i]];
            }
            if (distance == 1) 
            {
                this["blur"+i].blurX = 4;
                this["blur"+i].blurY = 4;
                this["menu"+i].filters = [this["blur"+i]];
            }
            if (distance == 0) 
            {
                this["blur"+i].blurX = 5;
                this["blur"+i].blurY = 5;
                this["menu"+i].filters = [this["blur"+i]];
            }
            this["menu"+i].txtName = links[i][1].toUpperCase();
            this["menu"+i].txtLetter = links[i][2].toUpperCase();
            this["menu"+i].url = links[i][0];
            this["menu"+i].onRelease = function() 
            {
                getURL(this.url, "_target");
                rotating = false;
            };
            this["menu"+i].onRollOver = function() 
            {
                rotating = false;
            };
            this["menu"+i].onRollOut = function() 
            {
                rotating = true;
            };
        }
    }
};
angel_mc.swapDepths(999+1);
var n = 1;
var counter = 0;
particle_mc._visible = false;
particle_mc.onEnterFrame = function() 
{
    var r = random(5);
    var clip;
    if (r == 1) 
    {
        duplicateMovieClip(particle_mc, "dust"+n, n+1500);
        n += 1;
    }
};

3 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
23 mai 2007 à 10:22
Bonjour,

pour changer la vitesse de rotation. Essaye de mofifier le parametre en gras (augmenter devrait diminuer la vitesse de rotation)

mousePos = ((_root._xmouse-posX)/100);


Pour l'apparition en alpha, tu as deux possibilités :
Soit tu intègres tout ton menu dans un seul clip (mais le code devra être sérieusement revu au niveau des ciblages...)


Soit tu adapte ton clip 'menu' dans la bibliotheque pour insérer une interpolation de mouvement au début du clip

La première solution est la meilleure, mais elle demande du boulot et beaucoup d'attention pour rien loupé dans l'adaptation du code...

@+
0
way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011
23 mai 2007 à 12:23
merci beaucoup !!!! je vais m'y atteler de suite ;-)
0
way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011
23 mai 2007 à 13:26
Génial tout fonctionne parfaitement maintenant !

Je dois avouer que j'ai été un peu fainéant j'ai travaillé directement sur le movieClip "menu" ;-)
0