Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   переменные из PHP в AS3 (http://www.flasher.ru/forum/showthread.php?t=109861)

arstudio 22.03.2008 01:05

переменные из PHP в AS3
 
Здравствуйте, пишу здесь, потому что перерыд весь форум но толком так ничего и не нашел, всё в основном касалось AS2.

Вот. В чём собственно проблема. В AS я дупля не отстреливаю, но очень нужно передать пару переменных из PHP в AS а потом обратно. Вот код который я использую:

Код:

import flash.display.*;
import flash.net.URLRequest;
import flash.net.URLVariables;



//

function sendImage(event:Event) {
        var data_bmp:BitmapData = new BitmapData(avatar_mc.width,avatar_mc.height);
        data_bmp.draw(avatar_mc);
        var png_image_data:ByteArray = PNGEncoder.encode(data_bmp);
        var url_req:URLRequest = new URLRequest("http://site/script.php");
        url_req.data = png_image_data;
        url_req.method = URLRequestMethod.POST;

        var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
        url_req.requestHeaders.push(header);
        navigateToURL(url_req, "_self");
               
       
}
//
var child:Shape = new Shape();
avatar_mc.addChild(child);
//
avatar_mc.addEventListener(MouseEvent.MOUSE_DOWN, onMousedown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseup);
clear_mc.addEventListener(MouseEvent.CLICK, clickHandler);
send_mc.addEventListener(MouseEvent.CLICK, sendImage);

function onMousedown(event:MouseEvent):void {
        var to_x = event.localX;
        var to_y = event.localY;
       
        var random_color = Math.floor(Math.random()*0xFFFFFF);
        child.graphics.lineStyle(10, 000000, 100, true, "normal", "");
        child.graphics.moveTo(to_x,to_y);
        avatar_mc.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
function onMouseup(event:MouseEvent):void {
        avatar_mc.removeEventListener("enterFrame", enterFrameHandler);
}


function enterFrameHandler(event:Event):void {
        var m_x:Number = avatar_mc.mouseX;
        var m_y:Number = avatar_mc.mouseY;
       
        if ((m_x>2 && m_x<483) && (m_y>1 && m_y<275)) {
                child.graphics.lineTo(avatar_mc.mouseX, avatar_mc.mouseY);
        }
}
function clickHandler(event:MouseEvent):void {
        child.graphics.clear();
}

Напишите пожалуйста пошагово. Понимаю что много хочу, но очень нужно. Заранее спасибо.

etc 22.03.2008 09:59

Передайте через URL.

arstudio 22.03.2008 10:24

А можно подробнее про саму методику? Не совсем Вас понял.

etc 22.03.2008 10:29

Передайте параметры через URL, распространенный метод GET. В AS вам нужно всего лишь изменить аргумент конструктора в URLRequest, а в php обработать переданные параметры.

arstudio 22.03.2008 17:13

Ну это я передам переменные в php, а мне нужно наоборот, из php во flash

WindWalker 22.03.2008 17:52

Картинка через GET не пролезет.

arstudio 22.03.2008 18:09

В общем проблема вот в чем. У меня такая вот структура этой схемы: страничка с формой.htm --->> страничка с флешкой.php -->> страничка с конвертированной готовой картинкой.php.

1.Нажал на первой страничке на "Submit"
2.Переменные с неё передались страничке с флешкой.php
3.И вот тут проблема. Переменные с первой странички мне нужно донести до третей (с конвертированной готовой картинкой.php). А при Submit'e флешевской формы у меня третей страничке передаются только переменные флешки, а переменные первой странички теряются.

Вот. В чём собственно и проблема.

WindWalker 22.03.2008 18:18

А ну так это можно передать через FlashVars или в виде movie.swf?foo=bar

Чо то типа такого (я в пыхпыхе не шарю, так что как смог так написал):

Код:

<object classid="clsid:d27cdb6e-bla-bla-bla" width="800" height="600">
<param name="movie" value="movie.swf?param1=<? echo $param1 ?>&param2=<? echo $param2 ?>"/>
...
</object>

Ну и для <embed> аналогично.

arstudio 22.03.2008 18:21

А в скрипте флешки мне ничего не добавлять?

WindWalker 22.03.2008 18:30

Надо. Надо взять параметры, переданные флешке, и вставить их в запрос.
Вот тут передаю слово знатокам AS3 :)


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

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