begin process at 2012 05 27 18:30:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Multimédia

 > 

Image

 > 

petit coup de main sur un action script


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

petit coup de main sur un action script

mardi 23 juin 2009 à 10:42:36 | petit coup de main sur un action script

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 xml.
Ce fla correspond exactement à ce que je veux faire pour mon site à une exception près :
je voudrais que la bannière créée soit verticale et non pas horizontale.

Je joins l'action script utilisé :
import Main2;

var xmlloader:XmlLoader = new XmlLoader("imgs.xml");
var xml:XML = new XML();

xmlloader.addEventListener(XmlLoader.XmlLoader_Finish, xmlLoadComplete);
function xmlLoadComplete(evt:Event):void {
    xml = xmlloader.getXMLData();
    xmlloader.dispose();
    var nbimage:int;
    var lstImgs:XMLList;
    nbimage = xml.icon.length();
    //trace(nbimage);
    lstImgs = xml.icon;

    var countimg:int = 0;
    var tmpcount:int = 0;
    var imgs:Array = new Array();

    for each (var imgxml:XML in lstImgs) {
        tmpcount +=1;
        if (tmpcount <8) {
            var img1:Main2 = new Main2(imgxml.@image,imgxml.@action,imgxml.@titre);
            img1.x = (countimg * 100)+(countimg*5);
            imgs[tmpcount] = img1;
            addChild(imgs[tmpcount]);
            imgs[tmpcount].GoNext();
            countimg += 1;
        } else {
            imgs[tmpcount - 7].Add(imgxml.@image,imgxml.@action,imgxml.@titre);
        }
        //trace(imgxml.@action + " " + imgxml.@titre);

    }

}
_________________________________________________________________________________________

a savoir qu'il y a en plus un fichier nommé "main2.as" qui ressemble à ça :

package {
    import flash.display.Sprite;
    import flash.net.URLRequest;
    import flash.display.Loader;
    import flash.display.Bitmap;
    import flash.events.Event;
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    import flash.utils.Timer;
    import fl.transitions.TweenEvent;
    import flash.events.TimerEvent;
    import flash.events.MouseEvent;
    import flash.net.navigateToURL;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;

    public class Main2 extends Sprite {
        private var ldr:Loader;
        private var bmp:Bitmap;
        private var twn:Tween;
        private var tmr:Timer = new Timer(5500,1);
        private var obj: Object = new Object();
        private var url:String;
        private var desc:String;
        private var label:TextField;

        private var urls:Array = new Array();
        private var urlsImages:Array = new Array();
        private var descs:Array = new Array();
        private var bmps:Array = new Array();

        public function Main2(urlImage:String,urldestination:String,description:String):void {
            Add(urlImage,urldestination,description);
        }
        public function Add(urlImage:String,urldestination:String,description:String):void {
            var idx:int = urlsImages.length;
            if (idx == 0) {
                idx=1;
            }
            urlsImages[idx] = urlImage;
            urls[idx] = urldestination;
            descs[idx] = description;
        }
        var currentIdx:int=1;

        public function GoNext():void {
            if (bmp!=null) {
                //trace("REMOVE BMP");
                removeChild(bmp);
            }
            if (label!=null) {
                //trace("REMOVE LABEL");
                removeChild(label);
            }
            bmp = null;
            ldr = null;
            label=null;

            if (currentIdx<(urlsImages.length)) {
                Launch(urlsImages[currentIdx],urls[currentIdx],descs[currentIdx],currentIdx);
                currentIdx +=1;
            } else {
                currentIdx = 1;
                GoNext();
            }
        }
        var idxBmp:int = 0;
        public function Launch(urlImage:String,urldestination:String,description:String,idx:int):void {
            url = urldestination;
            desc=description;
            bmp = new Bitmap();
            if (bmps[idx] ==  null) {
                idxBmp = idx;
                ldr = new Loader();
                ldr.load(new URLRequest(urlImage));
                ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,LoadComplete);
            } else {
                LoadFromArray(idx);
            }
            this.buttonMode = true;
            this.useHandCursor = true;
        }
        private function LoadComplete(evt:Event):void {
            bmp = Bitmap(ldr.content);
            bmps[idxBmp] = bmp;
            //trace("bmp en mémoire");
            bmp.y=-180;
            bmp.smoothing = true;
            //ResizeImage.resizeIt(bmp,100,100);
            bmp.height=80;
            bmp.width=100;
            anim();
            addChild(bmp);
            tmr.addEventListener(TimerEvent.TIMER, onMyTimer);
            BuildLabel();
        }
        private function LoadFromArray(idx:int):void {
            bmp = Bitmap(bmps[idx]);
            bmp.smoothing = true;
            //ResizeImage.resizeIt(bmp,100,100);
            bmp.height=80;
            bmp.width=100;
            anim();
            addChild(bmp);
            tmr.addEventListener(TimerEvent.TIMER, onMyTimer);
            BuildLabel();
        }
        private function BuildLabel():void {
            label = new TextField();
            label.y=-180;//75
            label.multiline=true;
            label.htmlText="<font color='#0000FF' face='Arial'>" + desc + "</font>";
            //label.autoSize=TextFieldAutoSize.CENTER;
            var format:TextFormat = new TextFormat();
            format.font = "Verdana";
            format.color = "0x0000FF";
            format.size = 8;
            format.underline = true;
            format.url = url;
            format.target="_blank";
            label.defaultTextFormat = format;
            addChild(label);
        }
        public function anim():void {
            //twn = new Tween(bmp,"y",Regular.easeInOut,-90,0,.5,true);
            twn = new Tween(obj,"propcount",Bounce.easeInOut,-1,0,1,true);
            //twn = new Tween(obj,"propcount",Bounce.easeInOut,-1,0,.5,true);
            twn.addEventListener(TweenEvent.MOTION_CHANGE,tweenIn);
            twn.addEventListener(TweenEvent.MOTION_FINISH,tweenOut);
            addEventListener(MouseEvent.CLICK,ImageClick);
            //tmr.start();
        }
        public function ImageClick(evt:MouseEvent):void {
            navigateToURL(new URLRequest(url),"_blank");
        }
        public function tweenIn(evt:TweenEvent):void {
            bmp.y = 180*obj.propcount;
            //bmp.alpha = (obj.propcount)+1;
            label.y = bmp.y+75;
            //label.alpha = (obj.propcount)+1;
            //bmp.scaleX = obj.propcount * -1;
            //bmp.scaleY = obj.propcount * 1;
        }
        public function tweenOut(evt:TweenEvent):void {
            tmr.start();
        }
        public function tweenOutEnd(evt:TweenEvent):void {
            GoNext();
        }
        function onMyTimer(evt:TimerEvent):void {
            twn = new Tween(bmp,"y",Bounce.easeInOut,0,180,.5,true);
            twn = new Tween(label,"y",Bounce.easeInOut,75,180,.5,true);
            twn.addEventListener(TweenEvent.MOTION_FINISH,tweenOutEnd);
        }
    }
}
import flash.display.Sprite;
class testclass {

}

_________________________________________________________________________________________


Voila, je me lance tout juste dans Flash et ses mystères. Ce que je vous demande ce n'est pas forcement de faire mon boulot à ma place mais juste d'essayer de m'indiquer quel bout de code correspond au position des diverses images.
Histoire que je puisse les replacer de façon verticale.

Merci beaucoup d'avance...

mardi 23 juin 2009 à 18:16:47 | Re : petit coup de main sur un action script

latour500

Bonjour,

regarde ici  peut être ---> 

private function LoadComplete(evt:Event):void {
            bmp = Bitmap(ldr.content);
            bmps[idxBmp] = bmp;
            //trace("bmp en mémoire");
            bmp.y=-180;
            bmp.smoothing = true;
            //ResizeImage.resizeIt(bmp,100,100);
            bmp.height=80;
            bmp.width=100;

            anim();
            addChild(bmp);
            tmr.addEventListener(TimerEvent.TIMER, onMyTimer);
            BuildLabel();
        }
        private function LoadFromArray(idx:int):void {
            bmp = Bitmap(bmps[idx]);
            bmp.smoothing = true;
            //ResizeImage.resizeIt(bmp,100,100);
            bmp.height=80;
            bmp.width=100;

            anim();
            addChild(bmp);
            tmr.addEventListener(TimerEvent.TIMER, onMyTimer);
            BuildLabel();
        }
bon courage


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


Répondre à ce message

Sujets en rapport avec ce message

Pb de bitmap chargé pour la source diaporama AS3 [ par 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 <img src="/imgs2/smile_clown 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 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é 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 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

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,265 sec (4)

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