IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH 8] => code AS2 qui se complique pour FullBrowser et random


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 46
    Par défaut [FLASH 8] => code AS2 qui se complique pour FullBrowser et random
    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

  2. #2
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    Bonjour,

    Personnelement si j'essay d'aide, c'est pas juste pour toi, pour t'es beau yeux, Par ce que t'es tellement sympa, que je te donne un peu de mon temps ... bref.
    Si j'essay d'aider c'est pour tout le monde. Quand je galere et que je tombe sur un tread ou en deux troi message j'ai la reponse a mon probleme, j'estime que ce thread est de calité. quand je doit me tapé 3 pages a essayer de comprendre si son probleme correspon au mien et qu'en suite je voi que non, que je perd du temps pour rien ... blabla bref. Je pense que t'a comprend qu'un tread c'est pas simplement pour aider une personne en particulier. donc moi ce que j'aimerai et je pense que tout le monde serra d'accord avec moi, c'est que tu separrer, CIBLE ton probleme, un par un. (Des usine a gaz, c'est bon, j'en est plein mon disque dur.) Ne prend pas mal ce que je te dis, meme si je te le dis sechement, prend le comme un conseil, tu verra, si tu fais des post simple, en ciblan ton probleme, en postant que le code qui ne va pas tu varra plein de petite main se lever pour t'aider ....

    Bon maintenat que tu t'es tapé mon pavé, je vais essayer de repondre a la 1ere question
    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.
    Je pense que pour forcer le chargement de tes images, tu pourrai utiliser cette technique : http://flash.developpez.com/faq/flas...=serveur#cache

Discussions similaires

  1. [XL-2007] code VBA qui reste actif pour d'autres fichiers
    Par calindoudou dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/02/2015, 09h19
  2. code as2 erreur dans flash
    Par thomix68 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 24/08/2014, 21h56
  3. Réponses: 1
    Dernier message: 19/12/2005, 13h00
  4. Réponses: 2
    Dernier message: 22/09/2005, 10h05
  5. [FLASH MX2004 PRO] Code de préload en AS2 & player 7
    Par Geilgestorm dans le forum Flash
    Réponses: 3
    Dernier message: 22/10/2004, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo