Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Передача значений переменных в embeded(as3) мувик as2 из мувика as3 (http://www.flasher.ru/forum/showthread.php?t=112937)

ader 12.06.2008 21:14

Хочу сделать передачу переменой в текстовое поле вложенного swf.as2 в/из XML.as3 мувика.
Юзаю SWFBridge - но он передаёт только значения в "".

Т.е.
sb1.send("sbTest","blalbalba") работает
sb1.send("sbTest",txtcont1) не работает. Выдаёт [object, Object] вместо текста.
Чё делать? :(

Ps - если вдруг я некорректно выразился, мувик as2 вложен в мувик as3. В as3 идёт загрузка и определение переменных XML.

Код мувика as3:
Код:

//#include "as/moveMc.as"
//#include "as/main.as"

import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
import flash.display.Sprite;
import flash.system.fscommand;
import com.gskinner.utils.SWFBridgeAS3;
//
var but1 = new Loader();
but1.load(new URLRequest("textarea.swf"));
contentarea.addChild(but1);
//
//
var comert = new Loader();
comert.load(new URLRequest("commertion.swf"));
tv.comert.addChild(comert);
//
//
fscommand("fullscreen", "true");
//
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("data.xml"));
function LoadXML(xml:Event):void {
        xmlData = new XML(xml.target.data);
        ParseXml(xmlData);
}
function ParseXml(xmlInput:XML):void {
        trace("XML Output");
        trace("------------------------");
        //trace(xmlInput.text.text()[1]);
        //trace(xmlInput.text.text()[2]);
        String:var txtcont1 = xmlInput.text.text()[0];
        String:var txtcont2 = xmlInput.text.text()[1];
        String:var txtcont3 = xmlInput.text.text()[2];
        //
        //
        //
        //
        var sb1:SWFBridgeAS3 = new SWFBridgeAS3("test",this);
        //
        //
        sb1.addEventListener(Event.CONNECT,onConnect);
        function onConnect(p_evt:Event):void {
                //out(p_evt);
                sb1.send("sbTest",txtcont2);
        }
        //
        b_1.addEventListener(MouseEvent.CLICK, click);
        function click(p_evt:Event) {
                //out("click");
                //sb1.send("sbTest","sent from",loaderInfo.url.substr(loaderInfo.url.lastIndexOf("/")));
                sb1.send("sbTest",txtcont1);
                //trace(txtcont2);
        }
        //
        //function sbTest(p_param1,p_param2) {
                //out(p_param1+p_param2);
        //}
        //
        function out(p_txt:*) {
                trace(p_txt);
                //outFld.appendText("\n"+String(p_txt));
        }
}

Код мувика as2
Код:

import com.gskinner.utils.SWFBridgeAS2;

var sb1 = new SWFBridgeAS2("test",this);
sb1.addEventListener("connect",this);

function connect(p_param1) {
        //out("connected");
        out(p_param1);
}

function sbTest(p_param1) {
        out(p_param1);
}

function out(p_txt) {
        trace(p_txt)
        scrolledMCrecipient.scrolledMC.txt.text = "\n"+p_txt;
}


etc 12.06.2008 21:33

Ужасный код, к тому же синтаксически неверный. Что есть txtcont1?

ader 12.06.2008 21:41

txtcont1 - это xmlInput.text.text()[0]; Т.е. данные из ячейки xml

etc 12.06.2008 21:44

Т.е. это значение типа XML. Чего же вы тогда ожидаете? К строке вы ничего не привели, соответственно и результат…

ader 12.06.2008 21:49

поясните пожалуйста. Что значит ничего не привёл к строке? И как это сделать?

ader 12.06.2008 22:17

Сделал так:
type conversion
var txtcont1 = ""+xmlInput.text.text()[0];

так оно работает, но все хтмл теги не хаваются :)
Как правильно сделать type conversion?

делаю так: var txtcont1:String = xmlInput.text.text()[0];
Html теги не хаваются.

Ага. Докопался. нужно обращатся не к значению текстового поля а к переменной.
Т.е. scrolledMCrecipient.scrolledMC.txt = "\n"+p_txt; вместо scrolledMCrecipient.scrolledMC.txt.text = "\n"+p_txt;


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

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