Форум 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=197961)

Chudikoff 16.04.2013 15:48

Вывод данных из xml
 
Добрый день!
Во Флеше не силен. Нашел вот такой счетчик - http://www.mjdigital.co.uk/blog/flas...ter-animation/
В принципе все устраивает, только есть вопрос:
можно ли сделать чтобы данные писались не внутри кода, а брались из вне (например xml), то-есть там где сейчас 0555, менялось в зависимости от того, что написано во внешнем файле?

Вот код:

Код AS1/AS2:

// Load Animation functions
#include "mc_tween2.as"
 
number = (_root.num!=undefined) ? _root.num.toString() : '0555';
 
function runCounter(o,myNum) {
        // SPEEDS - milliseconds: higher number = slower
        rollSpeed = 5;        // speed of number rolls - default = 30
        stopInterval = 1600; // time between stopping numbers - default = 300
        initialPause = 3600; // pause before stopping numbers - default = 500
 
        myNum = substring(myNum,0,4); // restrict to 7 characters
 
        // pad out number with zeros if less than 7
        while (length(myNum)<4) {
        myNum = "0"+myNum;
        }
 
        len = length(myNum);
 
        for (i=0; i<=4; i++) {
                n = (i<parseInt(len)) ? myNum.charAt((parseInt(len) - 1) - parseInt(i)) : 0;
                if(o["d"+(i+1)]) {
                        _root.runSequence(o["d"+(i+1)].digit,i,n);
                }
                setTimeout(_root.setNumer,(((parseInt(len) - 1) - parseInt(i))*_root.stopInterval)+_root.initialPause,o["d"+(i+1)].digit,n);
        }
}
 
function setNumer(o,n) {
        o.stop = true;
        clearInterval(o.timer);
        if(o.timer) { clearInterval(o.timer); } // backup in case the above fails
        o.timer = null;
        o.txt.text = n;
        o.yBlurTo(0,2);
}
 
function inc(o,n) {
        if(o.stop) {
                // backup stop command in case of failure
                clearInterval(o.timer);
                o.timer = null;
                o.txt.text = n;
                o.yBlurTo(0,2);
        } else {
                if(o.timer==undefined) {
                        o.timer = setInterval(inc,_root.rollSpeed,o);
                        o.yBlurTo(15,2);
                }
                o.txt.text = (parseInt(o.txt.text)<9) ? parseInt(o.txt.text)+1 : 0;
        }
}
 
function runSequence(o,delay) {
        o.stop = false;
        o.timer1 = setTimeout(inc,_root.rollSpeed+(delay*_root.rollSpeed),o,n);
}
 
runCounter(counter,number);


dark256 16.04.2013 23:35

http://www.flasher.ru/forum/showpost...00&postcount=6

Вам, скорее, нужен ВВОД из ХМЛ во флэшку.

chamele0n 17.04.2013 04:27

Код AS3:

number = (_root.num!=undefined) ? _root.num.toString() : '0555';

судя из кода, это as2, а эта строчка подразумевает что num берется из flashvars, тоесть просто необходимо прописать необходимое значение в тег param
Код:

<param name="flashVars" value="num=6666" />
это даже у них в описание написанно, читайте вимательно )))

dark256 17.04.2013 09:45

Так как там у него счетчик, подсчет ведется на сервере, и, вероятно, автору сложнее генерить страничку с флэш-варсами, нежели чем просто отдавать серваком хмл с цифирью....


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

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