גלריית תמונות XML שעובדת פיקס

סיימתי עכשיו טוטוריאל מעולה מבית TUTVIDS.COM שם בניתי גלריית תמונות ששואבת את המידע שלה מקובץ XML.

תוך כדי עשיתי כמה שפצורים משלי, הוספתי FADE IN מגניב לכל תמונה, והוספתי שדה טקסט לכותרת תמונה, שמתחלף על כל תמונה.


הגלריה בנויה מקליפ שמכיל את התמונות, ותיבת טקסט דינאמית שמציגה את הכותרת.
המידע כולו נשלף מקובץ XML עם התבנית הבאה:

לעצלנים מביניכם, הנה הקוד AS3:

import fl.transitions.Tween;
import fl.transitions.easing.*;
var imageTween:Tween;
var XMLReq:URLRequest = new URLRequest("gallery.xml");
var xmlLoader:URLLoader = new URLLoader(XMLReq);
var gallery:XML;
var imageLoader:Loader;
var imageDesc:String;
var imageURL:String;
//height and such
var rawHeight:String;
var rawWidth:String;


var imgNum:Number = 0;
var checkSec:Timer = new Timer(100);
var numberOfChildren:Number;


xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
container_mc.buttonMode = true;//turns movie clip into a button


function xmlLoaded (event:Event):void
{
checkSec.start();
checkSec.addEventListener(TimerEvent.TIMER, checker);
gallery = new XML(event.target.data);
}

function packagedF():void
{
checkSec.removeEventListener(TimerEvent.TIMER, checker);
imageURL = gallery.image[imgNum].file;
imageDesc = gallery.image[imgNum].title;
numberOfChildren = gallery.*.length();
rawWidth = gallery.image[imgNum].imgW;
rawHeight = gallery.image[imgNum].imgH;
imageLoader = new Loader;
imageLoader.load(new URLRequest(imageURL));
container_mc.addChild(imageLoader);
imageTitle_txt.text = imageDesc;
imageLoader.x = (stage.stageWidth - Number(rawWidth)) /2;
imageLoader.y = (stage.stageHeight - Number(rawHeight)) /2;
}
function checker(event:TimerEvent):void
{
if(imgNum == 0)
{
packagedF();
}
else if(imgNum < numberOfChildren)
{
imageLoader.unload();
packagedF();
}
else
{
imageLoader.unload();
imgNum = 0;
packagedF();
}

}

imageTween = new Tween(container_mc, "alpha", Regular.easeOut, 0, 1, 1, true);

container_mc.addEventListener(MouseEvent.CLICK, nextImage);

function nextImage(event:MouseEvent):void
{
imageTween = new Tween(container_mc, "alpha", Regular.easeOut, 0, 1, 1, true);
imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
checkSec.addEventListener(TimerEvent.TIMER, checker);
imgNum++
}



תגובות

פוסטים פופולריים מהבלוג הזה

Thoughts on HTML5, a Flash Developers hopeless rant

Pseudo 3d Isometric view

Veroni Noise