отображение в нужном слое
создаю шапку для сайта
динамично туда загружаются фоновые фотки, слайд-шоу с переходами, нашел в сети простой скрипт:
Код AS3:
import fl.transitions.*;
import fl.transitions.easing.*;
////////////////////////////////////////////////////////////////////////
// Variables Initiation and Declaration
////////////////////////////////////////////////////////////////////////
var pic_prev_mc:MovieClip=new MovieClip();
var pic_mc:MovieClip=new MovieClip();
var picInitial_mc:MovieClip=new MovieClip();
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML;
var thumbLoader:Loader;
var index:int=0;
var picArray:Array=new Array();
var timer:Timer=new Timer(1000,4);
var curr:int=1;
var totalPictures:int;
var flag:int=0;
var bitmap:DisplayObject;
var effect:Object=Photo;
////////////////////////////////////////////////////////////////////////
// Function XMl Loading
////////////////////////////////////////////////////////////////////////
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
var httpHeader:URLRequestHeader=new URLRequestHeader("pragma","no-cache");
var path:String="Hpics.xml";
xmlLoader.load(new URLRequest(path));
function LoadXML(e:Event):void {
xmlData=new XML(e.target.data);
stage.scaleMode=StageScaleMode.EXACT_FIT;
//stage.align = StageAlign.RIGHT;
stage.stageWidth=xmlData.Width;
stage.stageHeight=xmlData.Height;
getValues(xmlData);
}// end of Load XML
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR,funcError);
function funcError(event:IOErrorEvent) {
trace("Error occured in XML Loading");
}
function getValues(input:XML) {
var xmlCategoryList:XMLList=input.children();
totalPictures=input.children().length();
var item:XML;
for each (item in xmlCategoryList) {
loadThumbs();
}
}
////////////////////////////////////////////////////////////////////////
// Function loadThumbs
////////////////////////////////////////////////////////////////////////
function loadThumbs():void {
thumbLoader = new Loader();
thumbLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadThumbProgress);
thumbLoader.contentLoaderInfo.addEventListener(Event.INIT, thumbLoaded);
thumbLoader.load(new URLRequest(String(xmlData.path[index])));//access the thumbnails
function loadThumbProgress(e:ProgressEvent):void {
}
////////////////////////////////////////////////////////////////////////
// Function thumbloaded
////////////////////////////////////////////////////////////////////////
function thumbLoaded(e:Event):void {
for(var i:int=0;i<totalPictures;i++){;
picArray[i]=xmlData.path[i];
}
addChildAt(picInitial_mc,1);//было addChild(picInitial_mc);
picInitial_mc.addChild(thumbLoader.content);
//picInitial_mc.x=483.25; // Сдвиг
bitmap=thumbLoader.content;
}
function xmlLoadFail(event:IOErrorEvent):void {
trace("error loading the XML");
}
}
////////////////////////////////////////////////////////////////////////
// Function Next Pic Loading
////////////////////////////////////////////////////////////////////////
function nextPicLoad(string:String) {
thumbLoader = new Loader();
thumbLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadThumbProgress);
thumbLoader.contentLoaderInfo.addEventListener(Event.INIT, thumbLoaded);
thumbLoader.load(new URLRequest(String(string)));
function thumbLoaded(e:Event):void {
stage.addChild(thumbLoader.content);
addChild(pic_mc);
addChild(thumbLoader.content);
pic_mc.addChild(thumbLoader.content);
bitmap=thumbLoader.content;
//Blinds, Fade, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, or Zoom.
TransitionManager.start(pic_mc, {type:Fade, direction:Transition.IN, duration:1, easing:Regular.easeInOut});
TransitionManager.start(pic_mc, {type:Wipe, direction:Transition.IN, duration:1, easing:Regular.easeIn});
}
function loadThumbProgress(e:ProgressEvent):void {
}
}
////////////////////////////////////////////////////////////////////////
// Function Pic Display
////////////////////////////////////////////////////////////////////////
function picDisplay() {
timer.start();
timer.addEventListener(TimerEvent.TIMER_COMPLETE,funcTimer);
function funcTimer(event:TimerEvent) {
for(var k:int=0;k<pic_mc.numChildren;k++){;
pic_mc.removeChildAt(k);
}
if (flag==0) {
flag=1;
removeChild(picInitial_mc);
} else {
removeChild(pic_mc);
}
addChild(bitmap);
nextPicLoad(picArray[curr]);
curr++;
if (curr==totalPictures) {
curr=0;
}
timer.reset();
timer.start();
}
}
picDisplay();
stop();
поменял addChild(picInitial_mc); на addChildAt(picInitial_mc,1);
первая картинка появляется где надо, а вот все следующие всегда на самом верхнем слое((
пытался разобраться, менял по аналогии AddChild на AddChildAt, но знаний и опыта нее хватило.
подскажите как уладить вопрос с выводом в нужном слое
Добавлено через 7 часов 1 минуту
ну если не хочет никто с кодом разбираться, чирканите хоть мысли по вопросу!
Добавлено через 8 часов 45 минут
всем спасибо за подсказки и ответы, нашел решение вот здесь:
http://www.republicofcode.com/tutori.../as3slideshow/
|