Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вывести flashVars на экран (http://www.flasher.ru/forum/showthread.php?t=171254)

Srednas 12.11.2011 15:21

Вывести flashVars на экран
 
Здравствуйте.

Подскажите как вывести все flashVars на экран?
Не катит:
Код AS3:

trace(stage.loaderInfo.parameters);

Наверняка нужно в цикле, но что-то туплю :(

Psycho Tiger 12.11.2011 15:31

Это один из классов, который был написан мной очень давно, но используется без внесения каких-либо правок.
Код AS3:

package artshlagin.utils
{
        /**
        * ...
        * @author Artem Shlagin
        */

        public class Tracer {
                public static var traceFunction:Function = trace;
                public static var nameDelimiter:String = " => ";
                public function Tracer() {
                        throw new Error("Class is static");
                }
 
                public static function fullTraceObject(object:Object):void {
                        recoursiveTrace(object);
                }
 
                private static function recoursiveTrace(o:Object, startValue:int = 0):void {
                        for (var name:Object in o) {
                                var otst:String = "";
                                if (startValue > 0) {
                                        var i:int = startValue;
                                        while (i--) otst += "    ";
                                }
                                traceFunction.call(null, otst + name + nameDelimiter + o[name]);
                                if ((typeof o[name]) === "object") recoursiveTrace(o[name], startValue+1);
                        }
 
                }
 
 
        }
}

Использовать:
Код AS3:

Tracer.fullTraceObject(stage.loaderInfo.parameters);

Можно менять поток вывода и стрелочку между ключом и значением )
Код AS3:

Tracer.traceFunction = _someTextField.appendText;
Tracer.nameDelimiter = "<->";


Bgg 12.11.2011 15:34

Почитайте про режим удаленной отладки(remote debug). Так же можете попробовать MonsterDebugger.

strangedk 12.11.2011 16:53

Просто можно сделать так:

Код AS3:

public var _txt:TextField;
 
function _traceFlashVars() {
        _txt.appendText("init \n");
 
        for each (var current in stage.loaderInfo.parameters) {
                _txt.appendText(current + "\n");
        }
}

где _txt - добавленный на сцену TextField;


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

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