Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Чудеса с текстом (http://www.flasher.ru/forum/showthread.php?t=88314)

deep_freeze 21.11.2006 12:05

Чудеса с текстом
 
Уважаемый народ!

Я только начинающий флешер, так что не извольте бить веником...

Недавно ваял я навигационное меню на флеше, и появилась у меня необходимость при наведении на какой-то пункт меню (картинка) прорисовывать на экране подпись текстом, чтобы понятней было. Для этого я планировал использован один-единственный экземпляр с именем TipText символа MovieClip, в котором находится текст, привязанный к переменной tiptxtvar. Идея вот в чём - как только пользователь наводит мышкой на пунк меню, под ним появляется TipText, перед этим в переменную _root.tiptxtvar подставляется название раздела. Кроме всего прочего, TipText должен сначала из абсолютно прозрачного текста превращаться в непрозрачный чёрный. Для этого в мувиклипе я создал MotionTween и в ключевых кадрах поставил значения Color->Alpha = 0% и Color->Alpha = 100% соответственно. Но данная штука у меня не работает - мало того, что текст в текстовом поле не меняеться, так ещё никакой анимации нет с прозрачностью. Очень не хочется делать для всех разделов отдельные мувиклипы с текстом.

Пожалуйста, подскажите, как можно решить эту проблему. За любой совет заранее благодарен.

_sestra_ 21.11.2006 12:37

1) Кидай исходник в таких случаях и лаконично объясняй задачу
2) Если ты "начинающий флешер", то есть отлчный раздел "Для начинающих"
3) Свою тему ассоциируй с конкретной проблемой. В свою очередь "Чудеса с текстом" - ниочём не говорит
4) Успехов в изучении Флеша :)

ВАРАН 21.11.2006 15:40

-Посмотри точно ли твой мувик это мувик. Ты мог его случайно поменять на графику, а в графике не работает анимация.
-Раз ты на тексте создал Мотион то твой текст теперь в нутри этого мотион и обращатся нужно теперь не сразу к тексту а через этот мотион.
-А проще не делать альфу анимацией а написать её програмно вот так:

Код:

_alpha=0
this.onRollOver=function(){
if(_alpha<100){
_alpha+=5
}
this.onRollOut=function(){
if(_alpha>0){
_alpja-=5
}
}

положи это всё на первый и единственный кадр мувика с динамичесским текстом

pkfun 21.11.2006 20:13

Ну если анимация( альфа) не работает, то это значит, что поле динамического типа. И это естественно, вы же ведь хотите динамически менять текст. Либо делайте статические мувики для каждой подсказки, либо вставляйте шрифт(embed) в мувик.

ВАРАН 21.11.2006 21:49

Эээ счас плохому научишь малчика. Всё там с динамикой работает. И альфа и мальфа...

pkfun 21.11.2006 21:58

ВАРАН
Надеюсь работающий пример можно будет увидеть?

pkfun 21.11.2006 22:32

Цитата:

Сообщение от ВАРАН
-Посмотри точно ли твой мувик это мувик. Ты мог его случайно поменять на графику, а в графике не работает анимация.

Работает.

Цитата:

Сообщение от ВАРАН
-Раз ты на тексте создал Мотион то твой текст теперь внутри этого мотион и обращатся нужно теперь не сразу к тексту а через этот мотион.

Обращаться нужно к экземпляру мувиклипа/графического объекта на сцене, поскольку не создав такой символ вы не сможете вобще работать с анимацией, ни вручную, ни программно.

Цитата:

Сообщение от ВАРАН
Код:

_alpha=0
this.onRollOver=function(){
if(_alpha<100){
_alpha+=5
}
this.onRollOut=function(){
if(_alpha>0){
_alpja-=5
}
}


В коде две ошибки. Код перед вставкой не проверялся в редакторе.

Цитата:

Сообщение от ВАРАН
-А проще не делать альфу анимацией а написать её програмно вот так:
Код:

_alpha=0
this.onRollOver=function(){
if(_alpha<100){
_alpha+=5
}
this.onRollOut=function(){
if(_alpha>0){
_alpja-=5
}
}

положи это всё на первый и единственный кадр мувика с динамичесским текстом

Результат:
Цитата:

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Statement must appear within on/onClipEvent handler
_alpha=0

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2: Statement must appear within on/onClipEvent handler
this.onRollOver=function(){

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 6: Statement must appear within on/onClipEvent handler
this.onRollOut=function(){

Total ActionScript Errors: 3 Reported Errors: 3

ps. Возможно я что-то неправильно понял...

pkfun 22.11.2006 02:50

Вложений: 1
deep_freeze
Вложение 15825
Посмотрите пример. Возможно это то, что вам нужно.

Kikasso 22.11.2006 04:48

Вложений: 1
Код:

_alpha=0
this.onRollOver=function(){
    if(_alpha<100){ _alpha+=5 }
}
this.onRollOut=function(){
    if(_alpha>0){ _alpja-=5 }
}

pkfun, вы не совсем правы - только одна скобка было пропущена. Надо было положить на кадр, а не на клип. вот попробуйте еще раз - ошибки нет, но нет и решения проблемы.. вот сами посмотрите - в аттаче пример ВАРАНа
---------
У вас похоже то что надо.
---------

pkfun 22.11.2006 09:26

Цитата:

_alpja-=5
Опечатка. :D Я понимаю, но всегда проверяю свои ответы в редакторе.

Kikasso
Да, последний пункт я неправильно понял. Спасибо, что указали на ошибку.

ВАРАН
Свои слова по последнему пункту беру назад. Был неправ. Извините. :)


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

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