begin process at 2012 05 27 17:58:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Pb de bitmap chargé pour la source diaporama AS3


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb de bitmap chargé pour la source diaporama AS3

vendredi 12 juin 2009 à 15:55:05 | Pb de bitmap chargé pour la source diaporama AS3

webcrea92

Bonjour,

J'essaye de modifier cette classe comme on me l'a suggéré (voir la source diaporama AS3)
J'ai 1 truc qui me choque  et 1 truc que je n'arrive pas à faire  :
1/ Je teste l'alpha pour savoir quel container est masqué, et donc lancer la transition, je pense qu'il y'a mieux à faire
2/ Je n'arrive pas à affecter l'image chargée qui est dans 'contenu' à l'image afficher sans faire de addChild. pourtant j'ai bien 2 objet bitmap (enfin je crois)

Est-ce que quelqu'un peut m'aider?

package {
    import flash.display.*;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    // Import pour le chronometre
    import flash.events.TimerEvent;
    import flash.utils.Timer;
    // Import pour le message d'erreur
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    // Import de la biblio Tweenlite de greensock.com
    import gs.TweenLite;
    import gs.easing.*;
    import gs.events.TweenEvent;

    public class Diapo extends Sprite {
        private var cheminDiapos:String="diapos/";
        private var nomDiapos:String="nantilly";
        private var sufDiapos:String=".jpg";
        private var url:String="";
        private var nbrDiapos:int=5;
        private var indice:int=0;
       
        private var largeur=591;
        private var hauteur=197;
       
        private var image0:BitmapData = new BitmapData (largeur, hauteur, false, 0xFF0000);
        private var container0:Bitmap = new Bitmap(image0);
       
        private var image1:BitmapData = new BitmapData (largeur, hauteur, false, 0x0000FF);
        private var container1:Bitmap = new Bitmap(image1);
       
        private var chargeur:Loader=new Loader;
        private var cli:LoaderInfo=chargeur.contentLoaderInfo;
        private var chrono:Timer=new Timer(5000,1);


        public function Diapo() {
            container0.alpha=0;
            addChild(container0);
            addChild(container1);
            cli.addEventListener( IOErrorEvent.IO_ERROR, echecChargement );
            cli.addEventListener( Event.COMPLETE, chargementTermine);
            chrono.addEventListener(TimerEvent.TIMER_COMPLETE,chronoAction);
            charger();
        }
        public function charger():void {
            // construction de l'url du fichier à charger
            url=cheminDiapos + nomDiapos + indice + sufDiapos;
            // url à atteindre
            var maRequete:URLRequest=new URLRequest(url);
            // chargement du contenu
            chargeur.load(maRequete);
        }
        function chargementTermine(pEvt:Event):void {
            var objetLoaderInfo:LoaderInfo=LoaderInfo(pEvt.target);
            var contenu:Bitmap = Bitmap ( objetLoaderInfo.content );
            trace(contenu);
            if(container1.alpha==0){
                trace(container1);
                TweenLite.to(container0,2,{alpha:0,ease:Linear.easeNone,onComplete:diapoApparait(pEvt)});
            }else{
                trace(container0);
                TweenLite.to(container1,2,{alpha:0,ease:Linear.easeNone,onComplete:diapoApparait(pEvt)});
            }
        }


        private function diapoApparait(pEvt:Event):void {
            if(container1.alpha==0){
                TweenLite.to(container1,2,{alpha:1,ease:Linear.easeNone});
            }else{
                TweenLite.to(container0,2,{alpha:1,ease:Linear.easeNone});
            }           
            chrono.start();
        }
       
        function echecChargement( pEvt:IOErrorEvent ):void {
            var messageErreur = new TextField;
            messageErreur.text = "Echec chargement image n°"+indice+"\nLe fichier "+url+" n'existe pas...";
            messageErreur.autoSize = TextFieldAutoSize.LEFT;
            messageErreur.selectable = false;
            addChild(messageErreur);
        }

        private function chronoAction(event:TimerEvent) {
            indice++;
            indice %= nbrDiapos;
            charger();
        }
    }
}

Merci d'avance

PS: Pour tester cette classe, il faut charger diaporama AS3 et remplacer le contenu du package diapo.as

Christophe
Webcréa sarl
[ Lien ]
vendredi 12 juin 2009 à 16:44:16 | Re : Pb de bitmap chargé pour la source diaporama AS3

pegase31

Membre Club Administrateur CodeS-SourceS
Pour afficher tes bitmaps, il faut déjà les créer dés le début de ta classe, ensuite les remplir avec le contenu de ton loader :

//dans le corps de ta classe :
var container0:Bitmap = new Bitmap();
var container1:Bitmap = new Bitmap();
[...]
//dans ta fonction "chargementTermine"
var contenu:Bitmap = this["container"+(indice%2)]; //à tester, car c'est de mémoire
contenu = new Bitmap(pEvt.currentTarget.content );

par exemple ...

ensuite, tu n'a qu'à modifier l'alpha de container1 (qui se trouve au-dessus de l'autre) et qui te permettras d'afficher/masquer progressivement l'autre
sachant que si l'alpha est à 0 tu le passe à 1 et inversement ...

Peg'
vendredi 12 juin 2009 à 16:53:36 | Re : Pb de bitmap chargé pour la source diaporama AS3

webcrea92

Bein il me semble que c'est ce que je fais 2 bitmap, un bleu, un rouge

private var image0:BitmapData = new BitmapData (largeur, hauteur, false, 0xFF0000);
private var container0:Bitmap = new Bitmap(image0);
       
private var image1:BitmapData = new BitmapData (largeur, hauteur, false, 0x0000FF);
private var container1:Bitmap = new Bitmap(image1);

ça marche d'ailleurs, les 2 containers font bien la transition si tu lances le fla

Et dans 'chargementTermine'

var objetLoaderInfo:LoaderInfo=LoaderInfo(pEvt.target);
var contenu:Bitmap = Bitmap ( objetLoaderInfo.content );

Seulement je n'arrive pas à affecter contenu au container, ça doit être tout c..

Christophe
Webcréa sarl
[ Lien ]
vendredi 12 juin 2009 à 17:04:09 | Re : Pb de bitmap chargé pour la source diaporama AS3

pegase31

Membre Club Administrateur CodeS-SourceS
relis mieux ce que je t'ai donnéet compare avec ton code ... ce n'est pas vraiment pareil.
Moi je n'ai créé de BitmapData nulle part et toi tu attribue le contenu de ton loader à une variable dont tu ne fais rien : "contenu"

Peg'


Cette discussion est classée dans : flash, private, var, import, bitmap


Répondre à ce message

Sujets en rapport avec ce message

petit coup de main sur un action script [ par pdavid1985 ] Bonjour,Voila j'ai trouvé un code sur ce site qui vise à créer une bannière flash pour afficher des images défilantes et qui fait appel pour ça à un x AcrionScript 3 Lecture d'un fichier XML [ par nuns ] Bonjour, J'essaie de faire une classe pour charger un fichier xml, qui comporte juste le chemin des images sur le serveur. La lecture ce fait correc Ajout d'un élément fixe sur diaporama en AS3 [ par alxrb ] Hello, j'ai suivi un tuto en AS3 pour créer un diaporama avec fondu et déplacement sur y. Tout fonctionne, sauf que je voudrais placer un logo sur la plantage PHPMyAdmin par AS3 [ par leroidelesprit ] Bonjour, J'ai quelques soucis persistants avec une interaction que j'essaie d'implanter dans une page html:Il s'agit d'un site de généalogie...Mon idé un carré simple en AS3 ne s'affiche pas - pourquoi?? heck!! [ par tim2 ] Je n'avais pas touché à Flash depuis AS2; je ne comprends plus rien..! J'essaie de créer dynamiquement un carré - la fonction est bien appelée et je p AS3 : puzzle avec chargement images via XML [ par nray ] Bonjour à tous, Je suis entrain de créer un puzzle et je souhaite charger de manière aléatoire 20 mes images (de 3 puzzles différents) via un fichier Problemes avec lecteur MP3 sous flash CS4/AS3 [ par nicolasp31000 ] Bonjour à tous Je débute dans la programmation sous AS3 et j'essaye actuellement de créer un petit contrôleur(bouton play et bouton pause) pour pouvoi Papervision 3D + primitives.addEventListener [ par Ariranha ] Bonjour à tous, Après avoir parcouru des "tonnes" de tutoriels et de post je me décide a poster ma question qui est vraiment très basique. Comment o AS3 + XML [ par dimass01 ] Bonjour, Je suis débutant en AS3 et je souhaiterai faire une carte de france avec des boutons pour chaque département. Le survol d'un bouton va perm


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales