Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AS3 передача параметров через XML и html (http://www.flasher.ru/forum/showthread.php?t=142156)

Хемуль 14.07.2010 15:08

2 BonKatty:
Ну, если брать за пример те же FusionCharts, то так:
Код:

<embed
        width="450"
        height="325"
        flashvars="
                chartWidth=450&amp;
                chartHeight=325&amp;
                debugMode=0&amp;
                DOMId=SalesByYear&amp;
                registerWithJS=1&amp;
                scaleMode=noScale&amp;
                lang=EN&amp;
                dataXML=&lt;chart caption='Yearly Sales Comparison' XAxisName='Year' palette='2' animation='1' subcaption='(Click on a column to drill-down to monthly sales in the chart below)' formatNumberScale='0' numberPrefix='$' showValues='0' seriesNameInToolTip='0'&gt;&lt;categories&gt;&lt;category label='1994'/&gt;&lt;category label='1995'/&gt;&lt;category label='1996'/&gt;&lt;/categories&gt;&lt;dataset seriesname='Revenue'&gt;&lt;set value='219702' link='javaScript%3AupdateCharts%281994%29%3B'/&gt;&lt;set value='682796' link='javaScript%3AupdateCharts%281995%29%3B'/&gt;&lt;set value='547248' link='javaScript%3AupdateCharts%281996%29%3B'/&gt;&lt;/dataset&gt;&lt;dataset seriesName='Units Sold' parentYAxis='S'&gt;&lt;set value='7381'/&gt;&lt;set value='25007'/&gt;&lt;set value='18929'/&gt;&lt;/dataset&gt;&lt;styles&gt;&lt;definition&gt;&lt;style type='font' color='666666' name='CaptionFont' size='15' /&gt;&lt;style type='font' name='SubCaptionFont' bold='0' /&gt;&lt;/definition&gt;&lt;application&gt;&lt;apply toObject='caption' styles='CaptionFont' /&gt;&lt;apply toObject='SubCaption' styles='SubCaptionFont' /&gt;&lt;/application&gt;&lt;/styles&gt;&lt;/chart&gt;
        "
        allowscriptaccess="always"
        quality="high"
        name="SalesByYear"
        id="SalesByYear"
        src="FusionCharts/MSColumn3DLineDY.swf"
        type="application/x-shockwave-flash
>

Это я вам попытался синтаксически разнести более-менее. Ну и для тэга OBJECT аналогично.

BonKatty 16.07.2010 15:36

Да спасибо.. но что-то не так .
прописываю в хтлм ява скрипт:
.....
var flashvars = {name:"450"};
......
swfobject.embedSWF("readFV.swf", "myContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);....
(так как вы указали выше, только через swfobject, чтобы не дублировать)

Пытаюсь увидеть его во флеше:
import flash.display.*;
import flash.events.*;
trace(this.loaderInfo.parameters[name]);

результат: undefined
что я делаю не так или как я вообще могу его посмотреть?

Хемуль 16.07.2010 16:21

Код AS3:

this.loaderInfo.parameters[name]

name - это у вас что? Судя по всему, какая-то переменная, правда?

mayakwd 16.07.2010 16:22

Код AS3:

this.loaderInfo.parameters["name"]

как бы подсказывает Хемуль

BonKatty 16.07.2010 18:13

ну да.. но результат тот же:undefined .. как я их могу увидеть через отладку?

Lao_kutuz 16.07.2010 18:28

Цитата:

Сообщение от BonKatty (Сообщение 922218)
ну потомучто параметрі нужно генерировать с php.

так пусть php сгенерирует файл, и передаст на него ссылку. так на самом деле нормально и делается.. если хмл будет весить килобайт 100, то че делать будешь? на флешвары ограничения стоят.

BonKatty 16.07.2010 19:01

на самом деле не только пхп , для тем тоже используеться этот флеш и проще ему передавать через html.. в общем мне бы разобраться с flashVars..

Lao_kutuz 16.07.2010 23:25

ну смотри на наглядном примере. Создаешь фла файл, вписываешь код

Код AS3:

import flash.text.TextField;
 
var flashVars = stage.loaderInfo.parameters;
 
var xml        :XML = new XML(flashVars.exampleXML);
 
var showResult        :TextField = new TextField();
    showResult.border        = true;
    showResult.text        = xml.@name;
addChild(showResult);

создаешь хтмл, куда вставляешь флешку. Привожу пример стандартной вставки флеша.

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
        <head>
                <title>Untitled-1</title>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <style type="text/css" media="screen">
                html, body { height:100%; background-color: #ffffff;}
                body { margin:0; padding:0; overflow:hidden; }
                #flashContent { width:100%; height:100%; }
                </style>
        </head>
        <body>
                <div id="flashContent">
                        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="Untitled-1" align="middle">
                                <param name="movie" value="Untitled-1.swf" />
                                <param name="quality" value="high" />
                                <param name="bgcolor" value="#ffffff" />
                                <param name="play" value="true" />
                                <param name="loop" value="true" />
                                <param name="wmode" value="window" />
                                <param name="scale" value="showall" />
                                <param name="menu" value="true" />
                                <param name="devicefont" value="false" />
                                <param name="salign" value="" />
                                <param name="allowScriptAccess" value="sameDomain" />
                                <param name="FlashVars" value="exampleXML=<zhora name='zhorik'/>" />
                                <!--[if !IE]>-->
                                <object type="application/x-shockwave-flash" data="Untitled-1.swf" width="550" height="400">
                                        <param name="movie" value="Untitled-1.swf" />
                                        <param name="quality" value="high" />
                                        <param name="bgcolor" value="#ffffff" />
                                        <param name="play" value="true" />
                                        <param name="loop" value="true" />
                                        <param name="wmode" value="window" />
                                        <param name="scale" value="showall" />
                                        <param name="menu" value="true" />
                                        <param name="devicefont" value="false" />
                                        <param name="salign" value="" />
                                        <param name="allowScriptAccess" value="sameDomain" />
                                        <param name="FlashVars" value="exampleXML=<zhora name='zhorik'/>" />
                                <!--<![endif]-->
                                        <a href="http://www.adobe.com/go/getflash">
                                                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                                        </a>
                                <!--[if !IE]>-->
                                </object>
                                <!--<![endif]-->
                        </object>
                </div>
        </body>
</html>

обращаем внимание на строку

Код:

<param name="FlashVars" value="exampleXML=<zhora name='zhorik'/>" />
это и есть передача такой вот хмл <zhora name='zhorik'/> во флешку.
Можешь потестить, флешка принимает переменную, удачно её хавает и выводит имя

BonKatty 17.07.2010 00:05

Действительно классно. Согласна - лучшее решение по вопросу темы. Но чуть не мой случай. Мне нужно добиться чтобы кто-то мог настраивать дизайн флеша под любой темой типа ворпресса(ну именно под ней сайт написан). И желательно параметры которые сейчас флеш читает через XML переписать в html хотя бы часть , которые влияют на прокручивание и тип картинок.
Lao_kutuz - большое спасибо за пример. Но я хочу понять в чём проблема моего кода.. почему трейс его не отображает ? Где мне посмотреть? В чём проблема может быть? Вообще по идее должно же работать..

zurkis 17.07.2010 00:07

http://www.flasher.ru/forum/showpost...6&postcount=28 показали ж уже как делать, адаптируйте под свой случай, писать за Вас никто ничего не будет


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

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