Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добраться до данных в другой SWF 
V
    Опции темы
THandle
Дата 29.9.2011, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: нет
Всего: 372



Всем привет.
Такой вот вопрос.

Есть какая то SWF-ка, в ней положим код:

Код

var Btn: TBtn;
var Name: String;
var Action: String;

Btn = new TBtn();
Btn.x = 0;
Btn.y = 0;
addChild(Btn);


TBtn - класс какой-то своей кнопки.

Мы загружаем эту SWF-ку, и меняем значения переменных Name и Action:
Код


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

var loader: Loader = new Loader();
var SWF: MovieClip;

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);

loader.load(new URLRequest("Btn.swf"));

function loadComplete(evt: Event): void
{
    evt.target.removeEventListener(Event.COMPLETE,loadComplete);
    SWF = MovieClip(evt.target.content);
    SWF.x = 0;
    SWF.y = 0;
    addChild(SWF);
    SWF.Btn.addEventListener(MouseEvent.CLICK, onClick);
    SWF.Name = "banks";
    SWF.Action = "menu";
}

function onClick(e: MouseEvent)
{

}


И теперь, в чем собственно вопрос: как в событии нажатия кнопки добраться до переменных Name и Action только используя e, то есть не затрагивая переменную SWF.

Спасибо.
PM   Вверх
SoWa
Дата 30.9.2011, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 1
Всего: 74



Первый вариант - попробовать свойства события isRelatedObjectInaccessible и relatedObject. Первым проверять, доступен-ли тот объект, с которым работаем сквозь всякие дурные политики флеша о безопасности,а вторым получаем сам объект, вызвавший событие. Как в таком случае будет приведение типов - с наскока не отвечу.
Второй вариант - прописать классу TBtn(/*привет, Delphi! smile*/) свои события, в которые прописывать свойства и отправлять их. Тогда read-only сможешь смотреть поля Name & Action


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
THandle
Дата 3.10.2011, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: нет
Всего: 372



Вопрос решился следующим образом:

Код

function onClick(e:MouseEvent):void 
{
    var clip:MovieClip = e.target.root as MovieClip;
    trace( "clip.Action : " + clip.Action );
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.