Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   отображение в нужном слое (http://www.flasher.ru/forum/showthread.php?t=147915)

BJIag0 17.12.2010 09:46

отображение в нужном слое
 
создаю шапку для сайта
динамично туда загружаются фоновые фотки, слайд-шоу с переходами, нашел в сети простой скрипт:
Код 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/


Часовой пояс GMT +4, время: 02:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.