Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > выполнить скрипт, исходящего из php во флеш.


Автор: numerovan 1.8.2010, 14:09
Здравствуйте, скажите пожалуйста как можно реализовать следующее :
из флеша посылаю необходимые параметны на сервер, php ловит их и отправляет данные обратно, далее читайте коменты.
Код

btn.onRelease = function(){
    var obj:LoadVars = new LoadVars();
    obj.myText = "";
    obj.onLoad = function(ok){
        if(ok){
            text_1.text = ""; text_1.background = obj.bg; text_1.backgroundColor = obj.bgc;
                      // вот тут хочу сделать по другому, в данном случае я тут изначально знаю что мне делать и что к чему присваивать, мне бы хотелось из php выполнить тут скрипт подобно тому как на яваскрипте, пример : eval(ответ от сервера);. Поясню подробнее , типо написать eval(тут что-то для выполнения)
        }
    }
    obj.sendAndLoad("back.php", obj, "POST");
}

Код

if( isset($_POST["myText"]) ){
    echo "bg=true&bgc=0xFF0000";
        // тут хотел бы сделать следующее : написать команду , допустим trace("ay") и после того как данные попадут во флеш выполнить этот трейс, так как написал [I]bg=true&bgc=0xFF0000[/I] не очень удобно. Посылаю команды вроде вот этого: var x=50; text_1.x = x, после это всё обрабатывается 
}

Можно ли такое сделать ?

Автор: IDVsbruck 1.8.2010, 16:47
Да, при получении флешем ответа снова послать запрос на сервер с подтверждением.

Автор: SoWa 1.8.2010, 20:24
Если не ошибаюсь, в 1-2AS поддержка eval есть.
Т.е. ты отправляешь в AS строку, там её принимаешь в переменную, скажем, tempToExec:String и делаешь так:
Код

eval(tempToExec);

Автор: numerovan 15.8.2010, 12:48
почему-то не получается ни как по поводу мыплнения строчки с применением eval. Как можно реализовать следующее : в php следующее  - echo "function as() {тут разные действия}; as();"; Эта строчку подхватывает флэш и выполняется этот скрипт. Что-то ни могу ни как это сделать , не получается ни фига. Подскажите что можно поправить. 

Автор: SoWa 15.8.2010, 16:21
http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary200.html

Автор: numerovan 26.9.2010, 21:12
Цитата(SoWa @  1.8.2010,  20:24 Найти цитируемый пост)
tempToExec:String

пробывал , так вообще не получается ... разобрался с отправкой и получением данных ... И вот последний вопрос :
ДАННЫЕ ПОЛУЧАЮ В ВИДЕ СТРОКИ ИЗ ПХП НА ФЛЭШ, СТРОКА ИМЕЕТ ВИД : "text_1.text='hello'; text_2.text='world';" . КАК ВОТ ЭТУ ВОТ СТРОКУ ВЫПОЛНИТЬ ПРОГРАММНО ВО ФЛЭШЕ ? ПОКАЖИТЕ ЯВНЫЙ ПРИМЕР. EVAL() И SET() ПОМОЕМУ ДЛЯ ЭТОГО НЕ ПОДОЙДУТ.

Автор: bars80080 26.9.2010, 23:16
Цитата(numerovan @  26.9.2010,  21:12 Найти цитируемый пост)
EVAL() И SET() ПОМОЕМУ ДЛЯ ЭТОГО НЕ ПОДОЙДУТ.

почему? пробовали?


а почему, кстати, такой блондинистый шрифт?

Автор: numerovan 27.9.2010, 00:22
Барс, покажи как можно пропарсить из строчки в переменные и т.д. Пробывал и eval() и set() , честно сказать ... геморой что-то с ними. В яваскрипте проще: вставил любой код в фунцию eval() и всё сработало, а с этими ф-иями в экшнскрипт совсем не так. Плиз, поясни.

Хотелось бы чтоб была фунция которая обрабатывает строки как программу, допустим назову её myParse();
Код

var str:String = 'var x = 5; var y = 10; var z = x + y; text_1.text = z';
myParse(str); // вот тут строчка и выполнилась ... хотелось бы так.

КАК ТАКОЕ СДЕЛАТЬ ?

Автор: numerovan 3.10.2010, 21:40
С этим так и не разобрался, но пришёл к выводу что из PHP можно получить во флеш либо значения и свойства объекта , и после воспользоваться ими или же можно получить текст, каторые тоже после нужно будет разделять на переменные и их значения, а такого выполнения как eval() в яваскрипте я не нашёл.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)