|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: 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); } Последний раз редактировалось iNils; 05.12.2007 в 03:09. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
1. Альфа не работает потому, что должен быть вшит в ролик шрифт и у текстового поля должно стоять embed=true
2. Нарушена последовательность действий. Либо вы назначаете стиль до установки текста, тогда надо использовать setNewTextFormat, либо после и использовать ваш setTextFormat, но вся работа со стилем должна быть внутри события загрузки. 3. Вы уверены, что вам нужно использовать onData, а не onLoad? |
|
|||||
Modus ponens
|
Ко всему вышесказанному добавлю, что TextField не подписан на onEnterFrame, так что все изменения описанные в этой ф-ции происходить не будут.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Nov 2007
Сообщений: 17
|
to iNils:
1. спасибо, про embed не знал.... 2. помогло, работает 3. Я плохо представляю себе отличия, поэтому неуверен, просто с onData работает мне нужен текст который появляется на время и который можно выгрузить и загрузить на его же место (в тот же TextField) другой текст, из другого файла, для этих целий какой метод правильней использовать? to wvxvw: А не подскажете как подписать TextField на onEnterFrame? Это надо делать при создании Поля или при загрузке в поле текста? И кого вида синтаксис? |
|
|||||
Modus ponens
|
onEnterFrame - событие клипов, незачем его присваивать текстовым полям =)
чтобы создать програмную анимацию можно (проще) описать ее в onEnterFrame какого-нибудь клипа / в setInterval + updateAfterEvent. Чуть сложнее (но, зато + в управлении анимацией) - с помощью класа mx.transitions.Tween
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Nov 2007
Сообщений: 17
|
to wvxvw да, но Вы выше писали, что если текстфилд не подписан на onEnterFrame, то изменения текста происходить не будут, а теперь пишете, что ТекстФилд не подписывается на onEnterFrame...... Не могли бы Вы поподробнее написать, что Вы имели ввиду? (В мувике я пользуюсь onEnterFrame при анимации назад и плавном изменении альфы...)
|
|
|||||
Modus ponens
|
onEnterFrame - это событие, которое возникает 1 раз в кадр =) Клип его "слышит" и выполняет то, что описано в функции с таким же названием. Текстовое поле по умолчанию это событие не слушает. Его можно на него подписать, но делать этого не стоит. Т.е. чтобы происходили какие-то изменения с текстом нужно описать в функции эти изменения и периодически вызывать эту функцию. onEnterFrame в этом случае удобен тем, что не нужно заботится о синхронном обновлении экрана + работает точнее, чем setInterval.
В этом же и заключается суть класса mx.transitions.Tween - создается клип, и в его onEnterFrame происходят изменения с обьектом, который нужно анимировать.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Nov 2007
Сообщений: 17
|
Спасибо огромное, теперь все гораздо понятнее!!! Буду пробовать...
|
|
|||||
Регистрация: 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; } } |
|
|||||
Modus ponens
|
ну нету у TextField события onEnterFrame! Просто для эксперимента, убери выделенный текст из своего кода. Это не самый хороший способ - делать какие-то операции с _root'ом, но как для примера - покатит.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 18:07. |
|
« Предыдущая тема | Следующая тема » |
|
|