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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.01.2006, 16:02
Nomen Omen вне форума Посмотреть профиль Отправить личное сообщение для Nomen Omen Найти все сообщения от Nomen Omen
  № 1  
Ответить с цитированием
Nomen Omen
 
Аватар для Nomen Omen

Регистрация: Jul 2005
Адрес: 2000 км от Москвы
Сообщений: 23
Question [as] Вызов swf с форматированным текстом

Что было: в _root грузился некий mc.swf, при наведении на который он вызывал в _root txt.swf, в котором было организовано текстовое поле и загружена в это поле переменная. В _root был контейнер под txt.swf. Работало.
Что надо: получить в _root txt.swf с обработанным текстом.
Что есть: не грузится уже отформатированный текст, хотя в самом txt.swf все нормально. В txt.swf на загрузку и форматирование применен обработчик onData. В рут переменная поступает, но не отображается. Если onData убрать, то текстовое поле отображается, но не форматированным.
__________________
undefined мое второе имя :о(

Старый 24.01.2006, 16:25
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 2  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
слишком запутанное описание.
лучше покажи код...

не понятно, что значит "не грузится отформатированный текст". если переменная в рут передается, то как она "не отображается".

Старый 25.01.2006, 14:22
Nomen Omen вне форума Посмотреть профиль Отправить личное сообщение для Nomen Omen Найти все сообщения от Nomen Omen
  № 3  
Ответить с цитированием
Nomen Omen
 
Аватар для Nomen Omen

Регистрация: Jul 2005
Адрес: 2000 км от Москвы
Сообщений: 23
код в запускаемом run.swf

Код:
createEmptyMovieClip("con", 2); //грузим swf при наведении на которую загружается ld.swf в run.swf
	con._x = 720;
	con._y = 150;
	con.loadMovie("p.swf");

createEmptyMovieClip("fon", 16);//место под ld.swf
	fon._x = 40;
	fon._y = 160;
код в p.swf, исполняется по наведении на кнопку

Код:
_root.fon.loadMovie("ld.swf", 5);
код ld.swf

Код:
this.onData = function(){
	loadVariables("1.txt", this);
	this.createTextField("tf", 0, 0, 0, 230, 420); 	
             tf.multiline = true;
	tf.wordWrap = true;
	tf.variable = "textfriend";
	var myformat:TextFormat = new TextFormat();
	myformat.font = "Arial
	myformat.size = 12;
	myformat.color = 0x00AA00;
	tf.setTextFormat(myformat);
	};
Убираем onData - в run.swf отображается нужный текст без форматирования. С onData - ld.swf при компилляции выглядит правильно, но при запуске run.swf этот ld не виден (и поля текстового не создается тоже)

Пробовал делать функцию в ld.swf глобальной и вызывать ее в run. но окончательно запутался
Может подскажете работоспособный способ? Тут советует товарищ onLoadInit попробовать... что скажете?
__________________
undefined мое второе имя :о(

Старый 25.01.2006, 14:50
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
во-первых, мне кажется, у тебя система какая-то чересчур запутанная. все грузят что-то свое в разные клипы в разных свфках... мало того, какой-то клип в недрах грузит еще какие-то переменные. лучше организовать всё это проще: по крайней мере, чтобы загрузкой всего управляла одна свфка.

но если всё оставить как есть...
- вызвал загрузку
- файл загрузился
- сработал код его первого кадра

именно в таком порядке. заметь, код первого кадра срабатывает ПОСЛЕ окончания загрузки. поэтому создавать в первом кадре обработчик, который должен сработать при окончании загрузки, бессмысленно... загрузка-то уже завершилась. :)

поэтому onData у тебя просто не срабатывает. но даже если бы сработала - это был бы бардак. :) потому что онДата реагирует и на loadMovie и на loadVariables... а ты в самой онДате loadVariables и запускаешь. :)

и второй момент - текстформат нужно задавать ПОСЛЕ того, как ты записал в текстовое поле. а ты это делаешь ДО того, как текст попал в текстовое поле (потому что переменные естесственно не грузятся мгновенно).

итого:

1. убрать онДату
2. использовать setNewTextFormat() вместо setTextFormat()
3. лучше юзать объект LoadVars вместо loadVariables.
например так:

Код:
var loader = new LoadVars();
loader.onLoad = function()
{
	_root.createTextField("tf", 0, 0, 0, 230, 420);
	var tf = _root.tf;
	tf.multiline = true;
	tf.wordWrap = true;
	tf.text = this.textfriend;
	var myformat:TextFormat = new TextFormat();
	myformat.font = "Arial";
	myformat.size = 12;
	myformat.color = 0x00AA00;
	tf.setTextFormat(myformat);
};
loader.load("1.txt");

Старый 25.01.2006, 15:18
Nomen Omen вне форума Посмотреть профиль Отправить личное сообщение для Nomen Omen Найти все сообщения от Nomen Omen
  № 5  
Ответить с цитированием
Nomen Omen
 
Аватар для Nomen Omen

Регистрация: Jul 2005
Адрес: 2000 км от Москвы
Сообщений: 23
Все работает! Но теперь можно в run изменить код на
Код:
createEmptyMovieClip("fon", 16);//место под ld.swf
т.к. координаты можно задавать в
Код:
_root.createTextField("tf", 0, 0, 0, 230, 420);
А насчет управления из одной сфв - это у меня пережитки хтмлного прошлого, больше маленьких файликов. Спасибо за идею, попробую...
__________________
undefined мое второе имя :о(

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

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

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


 


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


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