Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.12.2015, 21:08
Lazebin вне форума Посмотреть профиль Отправить личное сообщение для Lazebin Найти все сообщения от Lazebin
  № 1  
Ответить с цитированием
Lazebin

Регистрация: Dec 2013
Сообщений: 5
По умолчанию как передать переменную из UILoader, не срабатывает.

Добрый вечер.

Есть код в загружаемом с помощью UIloader мувике (2.swf):
Код AS3:
function loginComplete(e:Event):void
{
	var loginAnswer:String = e.target.data;
	trace("Выполнена функция запроса авторизации, ответ = " + loginAnswer);
	if (loginAnswer == login.text)
	{
		dispatchEvent(new Event("loginAnswer"));
	}
	else
	{
		message.text = loginAnswer;
	}
}
И есть код в родительском мувике содержащем UIloader:
Код AS3:
function LoadTrue(event:Event):void 
{ 	
	fl_ProLoader.content.addEventListener("loginAnswer", login_ok);
}
 
function login_ok(e:Event)
{
	//var log:String = e.target.data;
	trace("Вход выполнен! логин = ");
        //trace(log);
В таком виде срабатывает функция "login_ok", но я никак не могу передать loginAnswer как переменную, чтобы отобразить её в функции "login_ok" как переменную log, пробовал разные варианты синтаксиса, но видать чего-то не знаю.
Как правильно организовать передачу переменной?

Спасибо за участие.

Старый 26.12.2015, 16:07
Lazebin вне форума Посмотреть профиль Отправить личное сообщение для Lazebin Найти все сообщения от Lazebin
  № 2  
Ответить с цитированием
Lazebin

Регистрация: Dec 2013
Сообщений: 5
Решил с помощью LocalConnect.
Тему можно закрывать.

Старый 27.12.2015, 11:28
meiciuc вне форума Посмотреть профиль Отправить личное сообщение для meiciuc Найти все сообщения от meiciuc
  № 3  
Ответить с цитированием
meiciuc

Регистрация: Nov 2005
Сообщений: 149
Код AS3:
function loginComplete(e:Event):void
{
	var loginAnswer:String = e.target.data;
	trace("Выполнена функция запроса авторизации, ответ = " + loginAnswer);
	if (loginAnswer == login.text)
	{
		dispatchEvent(new Event("loginAnswer"));
	}
	else
	{
		message.text = loginAnswer;
	}
}
тут переменная var loginAnswer:String = e.target.data; локальная (объявлена ВНУТРИ функции и не является свойством класса). Проще всего, вынести переменную на уровень свойств класса, типа

Код AS3:
public var loginAnswer:String;
 
function loginComplete(e:Event):void
{
	loginAnswer = e.target.data;
	trace("Выполнена функция запроса авторизации, ответ = " + loginAnswer);
	if (loginAnswer == login.text)
	{
		dispatchEvent(new Event("loginAnswer"));
	}
	else
	{
		message.text = loginAnswer;
	}
}
и уже в Main, обращаться к этой переменной после получения нужного события

Код AS3:
function login_ok(e:Event)
{
	trace("Вход выполнен! логин = ");
        trace(fl_ProLoader.content.loginAnswer);
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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