Comment remplir un clip avec un dégradé en AS ?

largoce Messages postés 9 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 14 février 2005 - 11 févr. 2005 à 13:37
paoloadv Messages postés 28 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 15 avril 2014 - 19 août 2009 à 18:05
Bonjour,
J'ai besoin de connaitre la fonction qui me permettrais de remplir un clip avec un dégradé de couleur.
Je m'explique.
Un premier AS me duplique plusieurs fois un clip.
Un second AS me crée un dégradé de couleur aléatoire (mais dans un carré dessiné avec l'API).
Je voudrais que ce dégradé de couleur vienne dans le clip (avant duplication) que j'aurais moi-même choisi.

Quelqu'un aurait-il la solution ?
Je précise que le "setRGB" ne sert à rien car je parle d'un dégradé de couleur généré par la fonction "random(256)" pour R, V et B, suivi des matrices alpha et ratio:

//(peu importe la fonction RamdomColor())

_root.createEmptyMovieClip( "grad", 1 );
with ( _root.grad )
{


colors = new Array();
colors[0]= RandomColor();
colors[1]= RandomColor();
colors[2]= RandomColor();
colors[3]= RandomColor();

alphas = [ 100, 100 , 100 , 100 ];
ratios = [ 0, 0x55 , 0xAA , 0xFF ];


matrix = { matrixType:"box", x:100, y:100, w:200, h:200, r: Math.PI/2 };
beginGradientFill( "radial", colors, alphas, ratios, matrix );
moveto(100,100);
lineto(100,300);
lineto(300,300);
lineto(300,100);
lineto(100,100);
endFill();
}

Ce code est connu, il vient du site de macromédia. Cela fait presque 3 jours que je planche sur "comment affecter le dégradé à un clip.."
C'est peut-être tout bête mais je suis coincé, alors si quelqu'un a la solution il est le bien venu.
Merci d'avance.

6 réponses

WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
13 févr. 2005 à 15:38
Fais une recherche dans le dictionnaire de l'ActionScript de Flash MX minimum. Il y a une fonction nommée movieClip.
beginGradientFill().
 Elle est très facilement adaptable.
@+ !

À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
0
largoce Messages postés 9 Date d'inscription samedi 27 décembre 2003 Statut Membre Dernière intervention 14 février 2005
14 févr. 2005 à 22:53
Je te remercie pour ta réponse WhiteMagus, mais si tu regardes mon code tu verras que figure la fonction:
movieClip.
beginGradientFill()
Le soucis c'est qu'elle fait forcément appel aux fonctions moveto, lineto, endfill.
Or je désire que le dégradé créé en AS soit affecté à un clip déjà existant, et non pas un clip créé.
Contrairement à ce que tu dis, cette fonction n'est pas adaptable dans mon cas...

Si t'as une solution, merci de m'aider...

PS:
Ce que je cherche à faire n'exite absolument pas. Ca n'a encore jamais été fait...
J'ai un problème mais j'ai pas de solution...

0
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
14 févr. 2005 à 23:18
Aïe. Oui désolé, j'avais pas vu. Je pense pas sincèrement qu'on puisse affecter un dégradé à un clip qui est déjà dessiné. Autrement pour les sources genre "coloriage", on aurait pas besoin de tout convertir en Clip. Et de faire de setRGB().
Mais il y a plusieurs moyens de contourner. C'est pas très efficace, mais tu peux te servir de bandes de 1px de large et avec un duplicateMovieClip(), un setRGB() et un jeu de masques, tu pourrais y arriver. C'est un boulot de titan, mais je vois rien d'autre. On a chacun ses méthodes persos. Je suis sûr que quelqu'un d'autre a d'autres méthodes.
Mais moi j'ai rien d'autre à te proposer, désolé.
@+ !

À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
0
rtgiman Messages postés 18 Date d'inscription vendredi 6 février 2004 Statut Membre Dernière intervention 5 septembre 2005
13 août 2005 à 13:41
Bonjour à tous!!



Juste un message pour savoir si qq un à trouver une solution depuis...

ca m'interesse au maximum... de toute façon c'est ça ou le Pc qui va ce dégrader...

merci

bises





***************************
flash by night
0

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

Posez votre question
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
13 août 2005 à 14:24
ben faut ouvrir les yeux!!



http://www.flashkod.com/tutorial.aspx?ID=212



salut!

(//)
0
paoloadv Messages postés 28 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 15 avril 2014
19 août 2009 à 18:05
Bonjour,

Le tuto de on_drag_on est génial, mais personne ne répond à largos (qui est à forciori largué !)...
Moi, je vois pas comment on peut définir dynamiquement un dégradé sur un clip déjà existant. Pourtant cela peut se faire manuellement avec l'éditeur graphique de Flash (moi j'ai flash MX Pro 2004), on y arrive bien. L'instruction devrait donc bien exister... Non ?

C'est parti mon kiki ! ;^)
0
Rejoignez-nous