Bonjour,
1=> Tout d'abord, merci à tous ceux qui permettent à ce site de perdurer.
2=> Ma version de Flash est en 8, AS 2 et je suis bien plus graphiste que développeur AS (assez léger en AS)
3=> J'ai adapté ce code trouvé qui permet de charger un fond et de le redimensioner en fonction de la résolution de l'écran :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 import flash.display.BitmapData; /// l'image de fond est un SWF var url:String = "pic_show1.swf"; Stage.align = "TL"; Stage.scaleMode = "noScale"; Stage.addListener(this); //// Je préfère créer le clip physiquement qu'en code, mais cela ne change rien var mcSource:MovieClip = mc_source2; var loader = new MovieClipLoader(); loader.addListener(this); loader.loadClip(url, mcSource); function onLoadInit(mcSource:MovieClip) { mcSource._visible = false; ratio = mcSource._width/mcSource._height; width = mcSource._width; height = mcSource._height; var bitmap:BitmapData = new BitmapData(mcSource._width, mcSource._height, true); bitmap.draw(mcSource); mcSource.removeMovieClip(); delete mcSource; //// Je préfère créer le clip physiquement qu'en code, mais cela ne change rien mcBackground = backgrd; mcBackground.attachBitmap(bitmap, backgrd, "auto", true); onResize(); } function onResize() { if (Stage.width>Stage.height) { mcBackground._width = Stage.width; mcBackground._height = mcBackground._width/ratio; if (mcBackground._height<Stage.height) { mcBackground._height = Stage.height; mcBackground._width = mcBackground._height*ratio; } } if (Stage.height>Stage.width) { mcBackground._height = Stage.height; mcBackground._width = mcBackground._height*ratio; } }
4=> Le premier problème :
Etant donné que le "clip" de fond chargé est mis en mémoire, il le prend comme une image statique, or, dans mon SWF, est un clip qui contient plusieurs images... Donc, pas bon, seule la première image est prise en compte, le reste du diaporama qui défile tout seul n'est pas retenu.
5=> Ensuite, je voulais pouvoir lui faire charger,aléatoirement, un SWF de fond parmis plusieurs. C'est ce que je faisais avant et cela fonctionnait très bien, mais bien sur, je n'avais pas de redimentionnement du fond en fonction de la résolution de l'écran... Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 var NbrAffiche = 1; //Nbr de SWF à afficher présents dans le fichier var NbrClip = 4; //Nbr de SWF prénsents dans le dossier mon_array = new Array(); //Tableau gardant les SWF en mémoire pour les vérifications function chargeImage(index) { var mc = this.createEmptyMovieClip("mc_show_vide"+index, index); var valide = ""; while (valide == "") { var n = 1; valide = "ok"; var ordre = Math.ceil(Math.random()*NbrClip); while (n != NbrAffiche+1) { if (ordre == mon_array[n]) { valide = ""; } n++; } } mon_array[index] = ordre; var img = "/fla/show/show_index"+ordre+".swf"; mc.loadMovie(img); mc._x = 0; mc._y = 0; } // Fin de la fonction, je fais afficher les SWF n = 1; while (n != NbrAffiche+1) { chargeImage(n); n++; }
6 => Alors ma question de folie est donc celle-ci :
Comment rendre ces deux codes fondus en un seul afin que je puisse charger un SWF aléatoirement d'après des SFW d'un répertoire et que ledit SFW se redimentionne en fonction de la résolution de l'écran ???? Je me suis cassé la tete à creuse les sites, le F1 de Flash.... Bon, j'avoue l'AS m'est bien oscure par moment.
Je suis tout ouie à toute idée, aide sur ce problème, je suis dessus depuis 3 semaines, en dehors des heures de sommeil....
Merci à vous tous.
Geilge
Partager