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

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

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

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
Question Реализация огромного текста во flash

Всем здравствуйте!
Такая проблема: в общем, у меня огромный текст. 14 страниц. Надо впихнуть на одну страницу. Причем во флэш страницу.
Полазила по форуму, почитала...
Делала и так, и эдак, и пришла к выводам:
1. Бессмысленно во флеш его пытаться впихнуть.
2. Можно как-то подгрузить html, но как я не поняла. Писала это:
Код:
on (release) {
	getURL("1f/001.htm","c", "POST");
}
3. Можно как-то подгрузить из txt, но мне не подходит, т.к. много разнообразного выделения.
4. Можно как-то с помощью LoadVars, но что писать и где осталось загадкой.
Буду рада любым идеям.
P.S. Превратить текст в "картинку" я не могу. Текст нужно иногда менять.
__________________
Вы звали?


Последний раз редактировалось Opinio; 15.12.2007 в 02:50.
Старый 15.12.2007, 03:44
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я не уверен, существует ли у LoadVars ограничение на длину передаваемой строки, но, чтобы не эксперементировать - грузил бы как XML с использованием CData.
Код:
var _xml:XML = new XML();
_xml.ignoreWhite = true;
var url_str:String = "text.xml";
var _txt:TextField = _root.createTextField("_txt", 0, 0, 0, Stage.width, Stage.height);
_txt.condenseWhite = true;
_txt.html = true;
_txt.wordWrap = true;
_txt.multiline = true;
_xml.onLoad = function(ok:Boolean):Boolean  {
	if (ok) {
		if (this.status != 0) {
			var errorMessage:String = "";
			switch (this.status) {
				case 0 :
					errorMessage = "No error; parse was completed successfully.";
					break;
				case -2 :
					errorMessage = "A CDATA section was not properly terminated.";
					break;
				case -3 :
					errorMessage = "The XML declaration was not properly terminated.";
					break;
				case -4 :
					errorMessage = "The DOCTYPE declaration was not properly terminated.";
					break;
				case -5 :
					errorMessage = "A comment was not properly terminated.";
					break;
				case -6 :
					errorMessage = "An XML element was malformed.";
					break;
				case -7 :
					errorMessage = "Out of memory.";
					break;
				case -8 :
					errorMessage = "An attribute value was not properly terminated.";
					break;
				case -9 :
					errorMessage = "A start-tag was not matched with an end-tag.";
					break;
				case -10 :
					errorMessage = "An end-tag was encountered without a matching start-tag.";
					break;
				default :
					errorMessage = "An unknown error has occurred.";
					break;
			}
			throw new Error("Error parsing XML, status: "+this.status+" ("+errorMessage+")");
		}
		afterOnLoad(this);
		return true;
	} else {
		throw new Error("There was the problem loading XML from: "+url_str);
		return false;
	}
};
function afterOnLoad(xml:XML):Void {
	_txt.htmlText = xml.childNodes[0].childNodes[0].nodeValue;
}
_xml.load(url_str);
ХМЛ для примера:
Код:
<MyLongText>
	<![CDATA[
	<p><font size='20' face='_sans'>Here goes my preformated <font color='#008888'><b>HTML</b></font> text</font></p>
	]]>
</MyLongText>
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 15.12.2007 в 03:48.
Старый 15.12.2007, 08:52
Opinio вне форума Посмотреть профиль Отправить личное сообщение для Opinio Найти все сообщения от Opinio
  № 3  
Ответить с цитированием
Opinio
 
Аватар для Opinio

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
wvxvw, мне не понятно куда это писать. В пространство помещаемого текста или action?
Вот здесь (http://transmatika.ru/sub/soc.rar) исходник. Каким образом можно сделать, чтобы в половине где сейчас описание социального тела был при нажатии текст?
Теоретически.
Или так нельзя реализовать?
__________________
Вы звали?

Старый 15.12.2007, 09:56
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
>>ХМЛ для примера
так должен выглядеть подгружаемый файл. имя файла д.б. text.xml, лежать он должен в той же папке, что и ваш свф. чтобы приведенный код его подгружал. путь к файлу можно настроить. кодировка текста в файле должна быть UTF-8.
между <![CDATA[ ... ]]> нужно вписать ваш текст с хтмл-форматированием. учтите, что хтмл-теги поддерживаются не все, например не поддерживается тег <table>.
ваш минимально переделанный исходник приложен. такой стиль программирования
как ваш, может сильно усложнить работу над проектом.
...
еще. многостраничный текст можно, как вариант, подгружать по-странично, оформив каждую страницу в отдельный файл.
Вложения
Тип файла: zip BigText.zip (186.3 Кб, 94 просмотров)


Последний раз редактировалось alexcon314; 15.12.2007 в 10:14.
Старый 16.12.2007, 02:49
Opinio вне форума Посмотреть профиль Отправить личное сообщение для Opinio Найти все сообщения от Opinio
  № 5  
Ответить с цитированием
Opinio
 
Аватар для Opinio

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
alexcon314,wvxvw, ура! Спасибо большое! Я просто счастлива.
Правда, почему-то возникла проблема. Во флеше все работает. Я и текст нужный поставила и проч., но стоит попытаться открыть из хтмл файла, то ничего не выходит. Не открывается.

Цитата:
многостраничный текст можно, как вариант, подгружать по-странично, оформив каждую страницу в отдельный файл.
Мне кажется, это слегка накладно..?
__________________
Вы звали?


Последний раз редактировалось Opinio; 16.12.2007 в 02:56.
Старый 16.12.2007, 18:34
Beta-tester вне форума Посмотреть профиль Отправить личное сообщение для Beta-tester Найти все сообщения от Beta-tester
  № 6  
Ответить с цитированием
Beta-tester

Регистрация: Jul 2005
Сообщений: 154
alexcon314
Будь добр, сохрани пожалуйста под 7-ку
Тоже пригодиться.

Старый 17.12.2007, 12:27
Opinio вне форума Посмотреть профиль Отправить личное сообщение для Opinio Найти все сообщения от Opinio
  № 7  
Ответить с цитированием
Opinio
 
Аватар для Opinio

Регистрация: Aug 2007
Сообщений: 33
Отправить сообщение для Opinio с помощью ICQ
Всем, всем, всем, кто с этим мучился и искал ответ.
Я нашла его!
Цитата:
Если данные находятся в том же домене, где расположен Flash-ролик, то имя домена можно заменить на символ /.
Пример
Если ролик расположен в домене www.anydomain.com, то абсолютную адресацию
my_xml.load("http://www.anydomain.com/xmlfiles/data.xml")
можно заменить на
my_xml.load("/xmlfiles/data.xml")
P.S. Да, я чайник.
__________________
Вы звали?

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

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

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


 


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


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