Показать сообщение отдельно
  #1 (permalink)  
Старый 17.10.2014, 06:30
Аспирант
Отправить личное сообщение для Maxfashko Посмотреть профиль Найти все сообщения от Maxfashko
 
Регистрация: 08.12.2012
Сообщений: 31

Загрузка swf (Конвертация в код?)
Добрый день друзья.

Занимаюсь проектом на ExtendScript для продуктов Adobe. Синтаксис позаимствован у js и имеет много схожего за исключением добавленных комманд.
Возникла необходимость добавить в ui флэш файл с последующим его воспроизведением, это получилось:

var win = new Window('palette', "SWF Test");  
with(win){  
    win.Flash = add('flashplayer',undefined,File("C:\\Users\\Maksim\\Desktop\\loading\\Новая папка\\DarkUI.swf"));  
    win.Flash.preferredSize = [500,500];  
    win.Flash.visible = false;  
    win.Btn = add('button', undefined, "Go");  
};  
  
win.Btn.onClick = function(){  
    var i = 200,  
        doc;  
    win.Flash.visible = true;  
    this.enabled = false;  
    doc = app.documents.add();  
    $.hiresTimer;  
    while(i--){  
        win.update();  
        doc.pages.add();  
    }  
    $.writeln($.hiresTimer/1000000);  
    win.Flash.visible = false;  
    this.enabled = true;  
};  
  
win.center();  
win.show();


Нажимаем на кнопочку и все ок.
Но тут на просторах интернетов наткнулся на код, в ктором файл swf декодирован прям в код что-ли.

Товарищи как это сделать, чтобы избавиться от лишних ссылок на файлы?

var SpinProgressBar = SpinProgressBar||function SB(/*str*/msg, /*fct*/process)  
{  
    // Caches the function resources  
    // ---  
    SB.rc = SB.rc||{  
        swf: "CWS\tP&\x00\x00x\x9C\x8D\x9A\x7FL\x15W\x16\xC7\xCF\x11\xC5\x11)\xE2oQ\xD0'\x0F}O\x14\x7F\xA0\xE2o|\xCA\x11\x04\x05\x04\x14\x14Q\x11\xF1'\x82\n\" \xA2(j-\xB6(Hmw[\xDB&m\xD3\xCDnKbRLI\x7F\xC4&\xEBn\xDCdmk\xB3j\xAD\x9Bvwm\xC4\xAD1\xDB\x8D\xA9Y\x93\x8D\xFB\xBD#2\xE3\xF0\xB6\xEF\xF2\xC7H\x8Egf\xEE\xB9\xF3\xFD\xDC\xF3\x9D;TS\x9F\b\xA2!\xC5D\xA1\xA1$\x03\t?I\xBD\x1E?~\x1Cc0UV4\xC6\xE7\xCD~\xDB\xC5\xD4\xD9\xD9\xF9\x98\xC2\x07\xF5o-\xCE:s\xB5\xE3\x8F\x1FT\x9CZ\x121\xFA\xB7\xF1t\xAB_/bj\t\x0Ec\xFCs\x99\xC8G\xBDh;\xF9\xC2{\xE37\"\xB7\x11D\xDB\xA8\xEF\x97\xD4\xA7\r\xFF\x8D\x1F\\#\xA4\x7F\xCA\x97\xEDWnf\x97/j\xFAK[yb=\xB9\x8C\xDE=\x93\x8C\x86\xF6\x92\xD7O\xBD}\xA1\xF5\xF5\xD3\x85\xE45\xFA c\x90\x8B\xFA\xFC`\xBB\x8C\x8F\xCE\x95\x95\x9ExT\x15W\xD9\xD8q\xF9^\xC4wi\xA9\xD7\x90\x19\xFC4\xB3\xDE\xCA\xCCv\x8D\xC9(\xAF\r\xAE\xBA\xDAR\xD9q\xC1\xFD\xE3\xAD\xF6k\x13\x90\xD9\x17\x99\xC3\xCFR\xEF\x13\xB6k\x12\x97t\xBC\x99|\xE9\xAFs\x1Fe\xDF9r\xFBa\xED\xD0a\x1F!\xD3\xF0\x93\x99w6aru|f\xD5\xF9\xD4\xEE3(\xDA\xE8\x87L\x9C\xC2\x0F\xAC\xCC\x90\x8BA\x9D\xF7\xF2\xEFL\x1Aq\xEF]\xCF\xC4NLIH\xCF\x9C\xFE\xB9\x1FQ\xD8\x9F\xB2\xCB?k\xBA\xD4V\xFEy=n\xD9\xDF\xCF-s\xDA\x9A\xC3\xB6^\xC5-3Z;\xBE\xFF\x03n\xF9C\x1By\x8CP\x95\xD9\xFALf\xC8\x9B\xBE\xA07Bw\xAE\xFB\xFA\xFD\xFC\xFB\xE6\t\xB9\xAD\xF5^\xE3\xB9\x9Es\x18\xF2m8\xDD\xF1\x9Cz\xAF\xFC\xBAg\xEDkE\x9F\x9F{\xF0n\xD1[\xB8y\x98\x9F9\\V\xF0\xC9g\xA5'1\x87/7\xD6\\\u00FE\xC7\xDD[\xED\x97\xAF\xD3;\xC1\x93{\xE1y\x9B\x8F=,\xAB9\xD9\xF7\xE4\xC9\xAF*+\xDBX\xBA\xB9\xD8\x95SSZ\xB4k'\x9D\x0E\x0E\x0B\xA2 \x8A<S?\xAAP%\x04\xA9Ho\xEA\x8DHC\x8B)\x16V\x91>\xD4\x87\"Sj3\xDF\xEA\x8E\x04S0E^X\x9A\xF9}w\xA4/\xF5\xA5\xC8\xC1\x8F\xBEquG\f2(\xF2\xEB\xBBQ\x17\xBB#\xFD\xA8\x1FE\xDE>\x92a]9\x84B(2\xF8\xEF]\x91\xA3\x88\xF4\xA7\xFE8\xEB\x9F\xB6\xEB\x84R(\x8D\xF4<\xA82sz\xA9\xC8s\xF4\x1C\x8Dl\xFA\xDB\xC2z3\xA2\xCE\n\xA30\x8Cg\xD9\xD3\x11\n+\xCD\xFB0_\x03\xFC\xA83\xF9\xF7\x9F\xB4\xFD\xD0v>o\xCE\x82\x86ywS\xE7\xDE\xFAv\xE0\x03d\x86\xFB\xC9\x84\x16\x9Ef\xDC\xCF\xFFqh\xC5\x99\x1BS\x919\xB0\xE7c\xB5\xD4y3\xFBNC\xCCSu\x0E\xF2\x93\x99\xD7\xDA\xA5\xCE\xAC\xEE3\xC0\xD9\xE0\x9E\xCA3\x1A^~\xB0/\xAE\xE2l\xE8\xBE\xEC\xD3\xD0\xE6\x10\xBF\xDALlZ=\xED\x9B\xB4\x8C\xBC\xAFn\xB4_\xC4\r\x87\xFAQ\xDC\xC5\xA0\xA2\xFB\xE7\x8A\xAEW$\xB6\xD4~\xDA\xF8\xE1\xBB_\x04'\xB8\x909\xCC\xEF\xD0\xF2\xEF\xFF\x1C{\xF5\x95\xF9#n|\xFC\xDE\xEA\xF6[_\xBC\xF3\x062\x87\xFB\x99\x18H\xAE\xADKr\x1DO$\xA7\x00\x1F\xA1)\xE3h#\xA2\xE7\xB2\x12\xF2\x9D\x8Fn7D\xFD\xAE\xE0v]\xD4\x87\xEF\xA0\xE0\x91~\xD6'\x1F\xB5_I\xF9\xEA\xDB\xB4\x8C\xA5\xD3n\xA2`\xA8|\x80\x96\xCA\xC3i\x80\xA5WS\xE5\x03)\xDC\xA1\xE9A4\xD0T\xB0\xA5\xCE\xC14\bZ\xFC\xC9\xA6\xE0!4\xD8\xA6W\x15\x19JC\xA0\xE9\xFD\xB6\xC80\x1A\xEAP\xF0p\x1Af)\xD8T\xF9\b\x1A\x8E\xF1$\xD9\xEE\x1EA#l\x9AV\x91\x91\x14\x01\x0E\xAB\x9F\x90i\xAA|\x14\x8DD\xA4\xB6\xF9\xFB\xA7*W\x88\x0B+\x84\x85\x15\xB6\xC2\nUa\x85\xA7\xB0BRXa(\xAC\xD0\x13V\xB8\t+\xC4\x84\x15V\xC2\n%a\x85\x8F\xA2e\x94\x1FQ$u6\x87\xDD\xBD\x06QDx>\xBE\xF1\x1B\x88\xE2\xED\"dF\xFA\xC9\xCCy\x9F\xC2~\x8E\x8D\xAB\x9A\xDE\t\xF9\xACM+\xF8W\xF1\x1BPvT@e\x8F\x0E\xACl\x8F1\xE6\x17\xD6\xD26\xAC\xA5W\x9E\xAE\xA5.\xBF#\xEBZ\x9Es\xBB\x96\xE7Kjy\x1E\xEBG\xAE\xF5}\xBF\xEE(9\xF3\xC1\x9F\xCF\x17^y\x94\x8D%b~\x1D\x8A\x8D\xF6C@\xB6\xEB\\YW\xC6\xBC\\x1D@\xFE\x1E\xA3Y\xD7M\xB6h\x1AT\xC0\xD2\xAC\x05K\x0B=o\xC9\xDE\x84\xE5\f\x9Dp4\x89Vz\xC1\x01\xC2\xCB\xD4\xE8\x00\xE1,\x9D\xB4\xC9^E^\xA1\x17\x1D\x1Bd\xAF\xD2K\x0E\x87\xF7+j\xB2\xED\x02(\xD9\xFF\x9AN9\xBEw\xBEF\xA7mh\xA8\xC8\xEB\xD4l\xFB\xCB\x15u\xD69j\xB1\x7F\x01U\xB0\x1C\xC5\xB1\x16T\t\x1F\x00I\xC2u(T\xF8 \x8A\x13>\x84\x82\x84\xEBQ\x84\xF0a\f\\\u00F8\b\x06+\xDC\x80\x01\n\x1F\xC5\xA0\x84\x8Fa \xC2\xC7qs\x1F\r\x0EcL\xA6c\xF2\x88\xFE\x07WG@D",  
        bkg: [232,232,232],  
        tmpFile: function FN(/*?str*/s)  
            {  
                FN.file && FN.file.remove();  
                FN.file = null;  
                if( !s ) return null;  
  
                return FN.file = (function(fx)  
                {  
                    fx = new File(''+fx);  
                    if( !fx.open("w") ) return null;  
                    fx.encoding = 'BINARY';  
                    fx.write(s);  
                    fx.close();  
                    return fx;  
                })(Folder.temp+'/_'+(+new Date)+'.swf');  
            }  
        };  
  
    // Creates the UI  
    // ---  
    var    rc = SB.rc,  
        w = new Window( 'dialog', '', undefined, {borderless:true} ),  
        p = w.add( 'panel' ),  
        fl = p.add( 'flashplayer', undefined, rc.tmpFile(rc.swf) ),  
        t = p.add( 'statictext', undefined, msg),  
        r;  
    rc.tmpFile(); // kills the tmp swf file  
  
    // UI Skin/Style  
    // ---  
    with( w.graphics )  
        backgroundColor = newBrush(  
            BrushType.SOLID_COLOR,  
            [rc.bkg[0]/255, rc.bkg[1]/255, rc.bkg[2]/255, 1 ]  
            );  
    p.orientation ='row';  
    p.alignChildren = ['left','center'];  
    fl.preferredSize = [50,50];  
  
    // Fire!  
    // ---  
    SB.win = w;  
    w.onActivate = function(){ process(); w.close(-1); };  
    r = -1==w.show();  
  
    // Cleanup and return  
    // ---  
    SB.win = null;  
    w.onActivate = null;  
    rc = w = p = fl = t = null;  
  
    return r; // true=>OK, false=>broken  
};  
  
  
////////////////////////////////////////  
// SAMPLE CODE  
////////////////////////////////////////  
  
var myHugeLoop = function()  
{  
    var i = 500000;  
    while( i-- )  
        {  
        // you have to periodically call SpinProgressBar.win.update()  
        // but not necessary at each iteration  
        SpinProgressBar.win.update();  
  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i)*  
        Math.cos(i);  
        }  
};  
  
if( SpinProgressBar("Currently processing a huge loop...", myHugeLoop) )  
    alert( "All is fine." );  
else  
    alert( "The process has been broken by the user!" );

По итогу запуска скрипта у нас крутится кольцо прогрессбара на заданное кол-во в цикле. Вот мне стало дико интересно как добиться "конвертации"
Или я что-то не так понимаю?
Ответить с цитированием