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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.12.2007, 00:35
<Maugli> вне форума Посмотреть профиль Отправить личное сообщение для <Maugli> Найти все сообщения от <Maugli>
  № 1  
Ответить с цитированием
<Maugli>

Регистрация: Nov 2007
Сообщений: 17
Рисую мувик, все работает, даже складывается впечатление, что AS не так уж и сложно... но начинаю подгружать текст из *.txt, он грузится, а вот применить к нему какие-нибудь настройки (КРОМЕ ВИЗИБЛА) не получается, не работает ни АЛЬФА, ни размер шрифта, ни межстрочный интервал (вроде ставлю и альфу и текстформат после загрузки текста, как по правилам).... может кто ошибку в коде найдет? Или есть другие объяснения... Заранее спасибо всем ответившим!!!

Код:
 

//создаю текстовое поле centralTX
_root.createTextField("centralTX", 
		  this.getNextHighestDepth(), 0, 0, 500, 300);
_root.centralTX.multiline = true;
_root.centralTX.wordWrap = true;

 //прячу на время
_root.centralTX._visible = false; 

//ловлю действие мыши
 _root.button.onRelease = function()
{  

// .....код анимации.....

//загружаю текст
var loadtxt:LoadVars = new LoadVars();
	loadtxt.load("clubText.txt");
	loadtxt.onData = function(txt:String) 
    {
   	_root.centralTX.text = txt;
	delete loadtxt;
	}
			
//Загруженное поле делаю видимым плавно
	_root.centralTX._visible = true;
	_root.centralTX._alpha = 0;
		_root.centralTX.onEnterFrame = function()
	{
		centralTX._alpha < 100 ? 
                      centralTX._alpha += 2 : centralTX._alpha = 100;
	}
//применяю форматирование
	var formTX:TextFormat = new TextFormat();
	formTX.size = 15;
	formTX.leading = 10;
	centralTX.setTextFormat (formTX);
}
вот исходник на всякий пожарный
Вложения
Тип файла: rar исходник.rar (9.7 Кб, 66 просмотров)


Последний раз редактировалось iNils; 05.12.2007 в 03:09.
Старый 05.12.2007, 03:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
1. Альфа не работает потому, что должен быть вшит в ролик шрифт и у текстового поля должно стоять embed=true
2. Нарушена последовательность действий. Либо вы назначаете стиль до установки текста, тогда надо использовать setNewTextFormat, либо после и использовать ваш setTextFormat, но вся работа со стилем должна быть внутри события загрузки.
3. Вы уверены, что вам нужно использовать onData, а не onLoad?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.12.2007, 03:34
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ко всему вышесказанному добавлю, что TextField не подписан на onEnterFrame, так что все изменения описанные в этой ф-ции происходить не будут.
__________________
Hell is the possibility of sanity

Старый 05.12.2007, 21:25
<Maugli> вне форума Посмотреть профиль Отправить личное сообщение для <Maugli> Найти все сообщения от <Maugli>
  № 4  
Ответить с цитированием
<Maugli>

Регистрация: Nov 2007
Сообщений: 17
to iNils:
1. спасибо, про embed не знал....
2. помогло, работает
3. Я плохо представляю себе отличия, поэтому неуверен, просто с onData работает мне нужен текст который появляется на время и который можно выгрузить и загрузить на его же место (в тот же TextField) другой текст, из другого файла, для этих целий какой метод правильней использовать?

to wvxvw:

А не подскажете как подписать TextField на onEnterFrame? Это надо делать при создании Поля или при загрузке в поле текста? И кого вида синтаксис?

Старый 06.12.2007, 00:00
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
onEnterFrame - событие клипов, незачем его присваивать текстовым полям =)
чтобы создать програмную анимацию можно (проще) описать ее в onEnterFrame какого-нибудь клипа / в setInterval + updateAfterEvent.
Чуть сложнее (но, зато + в управлении анимацией) - с помощью класа mx.transitions.Tween
__________________
Hell is the possibility of sanity

Старый 06.12.2007, 10:24
<Maugli> вне форума Посмотреть профиль Отправить личное сообщение для <Maugli> Найти все сообщения от <Maugli>
  № 6  
Ответить с цитированием
<Maugli>

Регистрация: Nov 2007
Сообщений: 17
to wvxvw да, но Вы выше писали, что если текстфилд не подписан на onEnterFrame, то изменения текста происходить не будут, а теперь пишете, что ТекстФилд не подписывается на onEnterFrame...... Не могли бы Вы поподробнее написать, что Вы имели ввиду? (В мувике я пользуюсь onEnterFrame при анимации назад и плавном изменении альфы...)

Старый 06.12.2007, 10:38
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
onEnterFrame - это событие, которое возникает 1 раз в кадр =) Клип его "слышит" и выполняет то, что описано в функции с таким же названием. Текстовое поле по умолчанию это событие не слушает. Его можно на него подписать, но делать этого не стоит. Т.е. чтобы происходили какие-то изменения с текстом нужно описать в функции эти изменения и периодически вызывать эту функцию. onEnterFrame в этом случае удобен тем, что не нужно заботится о синхронном обновлении экрана + работает точнее, чем setInterval.
В этом же и заключается суть класса mx.transitions.Tween - создается клип, и в его onEnterFrame происходят изменения с обьектом, который нужно анимировать.
__________________
Hell is the possibility of sanity

Старый 06.12.2007, 20:42
<Maugli> вне форума Посмотреть профиль Отправить личное сообщение для <Maugli> Найти все сообщения от <Maugli>
  № 8  
Ответить с цитированием
<Maugli>

Регистрация: Nov 2007
Сообщений: 17
Спасибо огромное, теперь все гораздо понятнее!!! Буду пробовать...

Старый 07.12.2007, 12:48
<Maugli> вне форума Посмотреть профиль Отправить личное сообщение для <Maugli> Найти все сообщения от <Maugli>
  № 9  
Ответить с цитированием
<Maugli>

Регистрация: Nov 2007
Сообщений: 17
Осталась проблема только в Альфе!
Делаю так: в библиотеке новый шрифт (выбираю Courier New) -> экспорт в AS (название Cur) -> пишу код(добавленное жирное):
Код:
//создаю текстовое поле centralTX
_root.createTextField("centralTX", 
		  this.getNextHighestDepth(), 0, 0, 500, 300);
_root.centralTX.multiline = true;
_root.centralTX.wordWrap = true;
_root.centralTX.embedFont = true

 //прячу на время
_root.centralTX._visible = false; 

//ловлю действие мыши
 _root.button.onRelease = function()
{  

// .....код анимации.....

//загружаю текст
var loadtxt:LoadVars = new LoadVars();
	loadtxt.load("clubText.txt");
	loadtxt.onData = function(txt:String) 
    {
   	_root.centralTX.text = txt;
	delete loadtxt;
//применяю форматирование
	var formTX:TextFormat = new TextFormat();
	formTX.size = 15;
	formTX.leading = 10;
	centralTX.setTextFormat (formTX);
	}
			
//Загруженное поле делаю видимым плавно
	_root.centralTX._visible = true;
	_root.centralTX._alpha = 0;
		_root.centralTX.onEnterFrame = function()
	{
		centralTX._alpha < 100 ? 
                      centralTX._alpha += 2 : centralTX._alpha = 100;
	}
}
и в итоге текст не появляется вообще... подозрение в том, что я как-то неправильно вшиваю шрифт... укажите пожалуйста на ошибку...

Старый 07.12.2007, 13:45
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
_root.centralTX.onEnterFrame = function()
ну нету у TextField события onEnterFrame! Просто для эксперимента, убери выделенный текст из своего кода. Это не самый хороший способ - делать какие-то операции с _root'ом, но как для примера - покатит.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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