[FLASH] >> 1 code pour plusieurs images différentes

>> 1 code pour plusieurs images différentes [FLASH] - Flash/ActionScript - Programmation

Marsh Posté le 28-05-2006 à 15:01:21    

Bonjour !!
 
Pour ma galerie photo, je souhaite faire une présentation en slide-menu (comme ça) et je souhaite faire un survol de chaque image comme ceci.
 
Le problème c'est que le code AS qui permet de déflouter, ne marche que sur une seule image. Je n'arrive pas à l'appliquer sur plusieurs images différentes à la fois.
 
Pouvez vous m'aider à rendre possible cette action ? Je vous communique le .FLA : http://perso.wanadoo.fr/alpina-tourisme/Floue.fla
 
Merci pour votre aide précieuse.  :jap:


---------------
http://www.reivaxbook.fr
Reply

Marsh Posté le 28-05-2006 à 15:01:21   

Reply

Marsh Posté le 30-05-2006 à 11:21:03    

Je vois pas trop, mais moi ce qe j'esserai de faire :
 
Tu peux faire 2 slides, 1 flou et 1 net. Et par un systéme de masque, tu fais apparaitre l'un ou l'autre.

Reply

Marsh Posté le 31-05-2006 à 15:13:24    

le truc c'est d'envoyer l'image a laquelle tu veux appliquer ton filtre flou dans un parametre d'une fonction exemple :
tu as 2 clips : image1 et image 2 placés sur ta scène, tu met ce code sur la première image cléf :

Code :
  1. //Tu importe les classes qui te serviront a créer ton filtre flou
  2. import flash.filters.BlurFilter;
  3. import mx.transitions.Tween;
  4. import mx.transitions.easing.*;
  5. //Tu définis tes fonction ROLLOVER et ROLLOUT en important la variable cible (qui changera en fonction de l'image sur laquelle tu est)
  6. function rollover(cible) {
  7. var myTween:Tween = new Tween(cible, "blur", Strong.easeInOut, 0, 20, 1, true);
  8.  myTween.onMotionChanged = function() {
  9.         cible.filters = [new BlurFilter(cible.blur, cible.blur, 1)];
  10.     };
  11. }
  12. function rollout(cible) {
  13. var myTween2:Tween = new Tween(cible, "blur", Strong.easeInOut, 20, 0, 1, true);
  14. myTween2.onMotionChanged = function() {
  15.         cible.filters = [new BlurFilter(cible.blur, cible.blur, 1)];
  16.     };
  17. }
  18. //Tu place tes action sur les clips image1 et image2 en appelant la fonction et en envoyant le chemin de l'image en question (this)
  19. image1.onRollOver = function(){
  20. rollover(this);
  21. }
  22. image2.onRollOver = function(){
  23. rollover(this);
  24. }
  25. image1.onRollOut = function(){
  26. rollout(this);
  27. }
  28. image2.onRollOut = function(){
  29. rollout(this);
  30. }


 
Enjoy it  :sol:

Reply

Marsh Posté le 01-06-2006 à 15:03:15    

baster_baster a écrit :

le truc c'est d'envoyer l'image a laquelle tu veux appliquer ton filtre flou dans un parametre d'une fonction exemple :
tu as 2 clips : image1 et image 2 placés sur ta scène, tu met ce code sur la première image cléf :

Code :
  1. //Tu importe les classes qui te serviront a créer ton filtre flou
  2. import flash.filters.BlurFilter;
  3. import mx.transitions.Tween;
  4. import mx.transitions.easing.*;
  5. //Tu définis tes fonction ROLLOVER et ROLLOUT en important la variable cible (qui changera en fonction de l'image sur laquelle tu est)
  6. function rollover(cible) {
  7. var myTween:Tween = new Tween(cible, "blur", Strong.easeInOut, 0, 20, 1, true);
  8.  myTween.onMotionChanged = function() {
  9.         cible.filters = [new BlurFilter(cible.blur, cible.blur, 1)];
  10.     };
  11. }
  12. function rollout(cible) {
  13. var myTween2:Tween = new Tween(cible, "blur", Strong.easeInOut, 20, 0, 1, true);
  14. myTween2.onMotionChanged = function() {
  15.         cible.filters = [new BlurFilter(cible.blur, cible.blur, 1)];
  16.     };
  17. }
  18. //Tu place tes action sur les clips image1 et image2 en appelant la fonction et en envoyant le chemin de l'image en question (this)
  19. image1.onRollOver = function(){
  20. rollover(this);
  21. }
  22. image2.onRollOver = function(){
  23. rollover(this);
  24. }
  25. image1.onRollOut = function(){
  26. rollout(this);
  27. }
  28. image2.onRollOut = function(){
  29. rollout(this);
  30. }


 
Enjoy it  :sol:


Merci pour vos réponses !!
 
Baster_baster, je voulais appliquer ton code mais il y a 4 erreurs que je n'ai pas su corriger.
Je te transmets ce que le logiciel à détecté :
 

Citation :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 9 : Impossible de charger la classe 'flash.filters.BlurFilter'.
             cible.filters = [new BlurFilter(cible.blur, cible.blur, 1)];
 
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 16 : Impossible de charger la classe 'flash.filters.BlurFilter'.
             cible.filters = [new BlurFilter(cible.blur, cible.blur, 1)];
 
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 8 : Il n'existe aucune propriété nommée 'onMotionChanged'.
       myTween.onMotionChanged = function() {
 
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 15 : Il n'existe aucune propriété nommée 'onMotionChanged'.
      myTween2.onMotionChanged = function() {
 
Total des erreurs ActionScript : 4   Erreurs signalées : 4
 


 
J'ai pourtant appliqué ce code dans la seule image clef de la scène principale qui contient les 2 clips "image1" et "image2".  
Pourrais tu m'aider sur ces erreurs ? Merci de ta patience  :jap:


Message édité par MisteR WarE le 01-06-2006 à 15:05:14

---------------
http://www.reivaxbook.fr
Reply

Marsh Posté le 01-06-2006 à 16:10:48    

J'ai compris que je ne posséde pas le filtre "blurfilter" dans flash MX2004. Il y est en revanche sur la version 8 de flash.
Pensez vous que ce filtre est présent sur le dernier Update de Flash MX2004 ??


---------------
http://www.reivaxbook.fr
Reply

Marsh Posté le 01-06-2006 à 17:07:13    

aïe il me semble pas que sous MX ce code y soit  :sweat:
mais le principe reste le meme si tu apel ta fonction en donnant le chemin de l'image a laquelle l'action doit s'appliqué par exemple :

Code :
  1. ton_image.onRollOver = function(){
  2. ta_fonction(this);
  3. }
  4. //et tu déclare ta fonction de cette manière :
  5. function ta_fonction(cible){
  6. trace(cible);
  7. //les actions que tu veux que "cible" (donc ton image) ressoivent
  8. }

Message cité 1 fois
Message édité par baster_baster le 01-06-2006 à 17:08:27
Reply

Marsh Posté le 01-06-2006 à 17:25:58    

baster_baster a écrit :

aïe il me semble pas que sous MX ce code y soit  :sweat:
mais le principe reste le meme si tu apel ta fonction en donnant le chemin de l'image a laquelle l'action doit s'appliqué par exemple :

Code :
  1. ton_image.onRollOver = function(){
  2. ta_fonction(this);
  3. }
  4. //et tu déclare ta fonction de cette manière :
  5. function ta_fonction(cible){
  6. trace(cible);
  7. //les actions que tu veux que "cible" (donc ton image) ressoivent
  8. }



Je suis débutant pour les AS. Peux m'expliquer comment puis-je appliquer ce code et le code précédent STP ?
 
Merci beaucoup  :jap:


---------------
http://www.reivaxbook.fr
Reply

Marsh Posté le 01-06-2006 à 17:41:58    

bon si je reprend ce que tu as fait, dans un clip tu as sur un calque ton image net et sur un autre plus bas ton image flou.
il faut que ces 2 images soit des clips només par exemple : imageNet_mc et imageFlou_mc
 
ton clip contenant ces 2 images tu l'apel  image1 par exemple
 
tu place toussa sur ta scene dans la première image cléf et tu met ce code sur la première image :
 

Code :
  1. //DECLARATION DES FONCTIONS
  2. function rollover(cible){
  3. cible.imageNet_mc._alpha = 0;
  4. }
  5. function rollout(cible){
  6. cible.imageNet_mc._alpha = 100;
  7. }
  8. //ACTIONS SUR CHAQUE IMAGE
  9. image1.onRollOver = function(){
  10. rollover(this);
  11. }
  12. image1.onRollOut = function(){
  13. rollout(this);
  14. }


Bon si tu veux faire incrémenter ou décrémenter ton _alpha, à toi de faire une ptite boucle... j'espère t'avoir aidé deja...si tu veu mettre ce code sur plusieur image il suffi de refaire le meme clip "image2" avec les meme "sous-clip" nommés de la meme manière et de rajouter les actions onRollOver et onRollOut... qui appelle la meme fonction
 
 :hello:

Message cité 1 fois
Message édité par baster_baster le 01-06-2006 à 17:43:07
Reply

Marsh Posté le 01-06-2006 à 18:17:55    

baster_baster a écrit :

bon si je reprend ce que tu as fait, dans un clip tu as sur un calque ton image net et sur un autre plus bas ton image flou.
il faut que ces 2 images soit des clips només par exemple : imageNet_mc et imageFlou_mc
 
ton clip contenant ces 2 images tu l'apel  image1 par exemple
 
tu place toussa sur ta scene dans la première image cléf et tu met ce code sur la première image :
 

Code :
  1. //DECLARATION DES FONCTIONS
  2. function rollover(cible){
  3. cible.imageNet_mc._alpha = 0;
  4. }
  5. function rollout(cible){
  6. cible.imageNet_mc._alpha = 100;
  7. }
  8. //ACTIONS SUR CHAQUE IMAGE
  9. image1.onRollOver = function(){
  10. rollover(this);
  11. }
  12. image1.onRollOut = function(){
  13. rollout(this);
  14. }


Bon si tu veux faire incrémenter ou décrémenter ton _alpha, à toi de faire une ptite boucle... j'espère t'avoir aidé deja...si tu veu mettre ce code sur plusieur image il suffi de refaire le meme clip "image2" avec les meme "sous-clip" nommés de la meme manière et de rajouter les actions onRollOver et onRollOut... qui appelle la meme fonction
 
 :hello:


Il faut mettre un gestionnaire ! >> je ne sais plus comment on fait  :sweat:  
 

Citation :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 2 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     function rollover(cible){
 
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 5 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     function rollout(cible){
 
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 9 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     image1.onRollOver = function(){
 
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 12 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     image1.onRollOut = function(){
 
Total des erreurs ActionScript : 4   Erreurs signalées : 4



---------------
http://www.reivaxbook.fr
Reply

Marsh Posté le 01-06-2006 à 21:09:04    

non c paske tu as mis le code sur le clip o lieu de l'image déso pour l'ortograf mais pas le temps...

Reply

Marsh Posté le 01-06-2006 à 21:09:04   

Reply

Marsh Posté le 01-06-2006 à 21:12:46    

baster_baster a écrit :

non c paske tu as mis le code sur le clip o lieu de l'image déso pour l'ortograf mais pas le temps...


Hum : j'ai essayé, mais le net n'apparait pas. Tu as testé la chose ??
 
Merci pour ton aide en tout cas (et pas grave pour l'ortograf  :p )
 
EDIT : J'ai cliqué sur l'image "clip" de la scène principale et j'ai appliqué le code.
Sachant que le clip sur la seule image clef de la scène principale, appelé image1, contient le clip "imageFlou_mc" au premier plan et le clip "imageNet_mc" au dernier plan.


Message édité par MisteR WarE le 01-06-2006 à 21:22:08

---------------
http://www.reivaxbook.fr
Reply

Marsh Posté le 02-06-2006 à 10:48:41    

j'ai en effet testé la chose puisque je ne procède que de cette manière, pour des boutons etc...  
 
si j'ai le temps je t'enverrai un fla pour que tu regarde comment faire je ne promet rien
 
edit : Voila un p'tit exemple


Message édité par baster_baster le 02-06-2006 à 15:04:30
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed