Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как вывести текст из XML файла? (http://www.flasher.ru/forum/showthread.php?t=183218)

kacmanura 15.08.2012 16:13

Как вывести текст из XML файла?
 
Люди помогите, попали на нечестных разработчиков. Есть слайд шоу работает нормально, но нужно выводить еще и текст с XML файла. Как его выводить? уже голову сломал. Может кто нить подскажет!!!
Код AS1/AS2:

import gs.*; 
import gs.easing.*;
 
//////////////////////////////////////////////////////////////////
//                  Load XML
//////////////////////////////////////////////////////////////////
 
var xmlPath = "content.xml";
var photos_xml = new XML();
photos_xml.ignoreWhite = true;
var imageList:Array = new Array();
photos_xml.onLoad = function(success) {
        if (success) { // ----------- load successful
                // ----------- convert XML content to an array
                imageList = photos_xml.firstChild.childNodes;
                // ----------- Do some action once xml is loaded
                loadImage();
                // ----------- Do some action once xml is loaded
        } else {
                // ----------- problem loading, check path
                trace("Error loading photos_xml");
        }
};
//////////////////////////////////////////////////////////////////
//                  Load Images
//////////////////////////////////////////////////////////////////
 
var currentImage:Number = 0;
var imageLoader:MovieClipLoader = new MovieClipLoader();
var loadListener:Object = new Object();
 
imageLoader.addListener(loadListener);
 
loadListener.onLoadInit = function(target_mc:MovieClip, httpStatus:Number):Void {
 
        target_mc._width = Stage.width-50;
        target_mc._yscale = target_mc._xscale;
        if (target_mc._height >= Stage.height - 25){
        target_mc._height = Stage.height - 25;
        target_mc._xscale = target_mc._yscale;
        };
 
        // center content
        var clipXTarg = Math.round((Stage.width/2)-((target_mc._width+20)/2));
        var clipYTarg = Math.round((Stage.height/2)-((target_mc._height+20)/2));
        TweenLite.to(shell_mc, 0.25, {_x:clipXTarg, _y:clipYTarg, ease:Quad.easeOut});
 
        // find previous image
        if(currentImage == 0){
                var prevImgNum = imageList.length -1;
        }else{
                var prevImgNum = currentImage - 1;
        }
        var prevImg = shell_mc.pics_mc["pic"+prevImgNum];
        TweenLite.to(prevImg, 0.15, {autoAlpha:0, onComplete:removePrevious});
}
 
loadListener.onLoadComplete = function(target_mc:MovieClip):Void {
        TweenLite.to(target_mc, 0.25, {autoAlpha:100, delay:0.25});
        setTimer();
}
 
//////////////////////////////////////////////////////////////////
//                  Functions List
//////////////////////////////////////////////////////////////////
 
function setTimer(){
        timer = setInterval(loadImage, 5000);
}
 
function removePrevious(){
        if(prevImg != undefined){
                removeMovieClip(prevImg);
        }
 
        // increment the current image
        if(currentImage < imageList.length -1){
                currentImage = currentImage + 1;
        }else{
                currentImage = 0;
        }
}
 
 
function loadImage(){
        var loadURL = imageList[currentImage].attributes.imgurl;
        var targetClip = shell_mc.pics_mc.createEmptyMovieClip("pic"+currentImage,shell_mc.pics_mc.getNextHighestDepth());
        targetClip._alpha = 0;
        clearInterval(timer);
 
        // load the new image
        imageLoader.loadClip(loadURL,targetClip);
}
 
 
//////////////////////////////////////////////////////////////////
//                  On First Load
//////////////////////////////////////////////////////////////////
photos_xml.load(xmlPath);
stop();

XML файл такой

Цитата:

<?xml version='1.0' encoding='UTF-8'?>
<gallery>
<image imgurl="assets/1.jpg" title1="ТЕКСТ1" ></image>
<image imgurl="assets/2.jpg" title2="ТЕКСТ2" ></image>
<image imgurl="assets/3.jpg" title3="ТЕКСТ3" ></image>
<image imgurl="assets/4.jpg" title1="ТЕКСТ4" ></image>
</gallery>

mooncar 15.08.2012 16:53

Ну, например, допишите функцию, которая загружает картинки.
Код AS1/AS2:

function loadImage(){
        ....
        var txt:String = imageList[currentImage].attributes.title;
        trace(txt); //а уж куда вставлять, вам виднее
 
}

При этом атрибут должен носить одно имя - title:
Код:

<?xml version='1.0' encoding='UTF-8'?>
 <gallery>
 <image imgurl="assets/1.jpg" title="ТЕКСТ1" ></image>
 <image imgurl="assets/2.jpg" title="ТЕКСТ2" ></image>
 <image imgurl="assets/3.jpg" title="ТЕКСТ3" ></image>
 <image imgurl="assets/4.jpg" title="ТЕКСТ4" ></image>
 </gallery>


kacmanura 15.08.2012 17:57

Спасибо ща попробую

Добавлено через 1 час 47 минут
чето я натупил не пойму. создал динамическое поле назвал его text, и в тупике опять, как выводить


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

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