![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Jul 2004
Сообщений: 1
|
Доброго времени суток.
Последнюю неделю не спал, захватил процесс создания всякой разности на flash. Читал много доков примеров и тд. Заранее прошу прощения, если мой вопрос(ы) обсуждался(лись) или они окажутся слишком глупыми, но в поиске и в умных книжках ничего не нашел нашел... Проблема возникла следущая, мне нужно что бы при наведенни на кнопку курсора появлялась надпись, а при перемещении его с кнопки она исчезала. Вроде просто как три рубля. Из надписи сделал мувик, для появления и исчезновения решил использовать функцию visible, но проблема в том что срабатывает через раз, точнее когда запустиш и поводаш по кнопкам, постепенно начинают появлятся отдельные надписи, потом они начинают появлятся все, но все это происходит очень хаотично, не так как надо Заметил некоторые мелкие баги во флеше, но такого чесно говоря не ожидал... Делалось все на flash MX. Код выглядит примерно так: SZ_AO._visible = false; button_SZ_AO.onRollOver = function() { SZ_AO._visible = true; button_SZ_AO.onRollOut = function() { SZ_AO._visible = false; Соответсвенно SZ_AO это мувик-надпись которая должна поялвятся и исчезать. А button_SZ_AO это кнопка с которой происходит действие. Может код и кривой, но ничего умнее мне не пришло в голову. Еще вопрос как сделать что бы эта надпись появлялась плавно? Сначала хотел привязатся ко времени и менять параметр alpha, но возникли 3 проблемы. Я во первых взял значение GetTimer и исходя из него пытался сравнивать величину, что бы скажем каждые 100 милисекунд у меня менялась прозрачность на 10. Flash меня послал далеко и сказал что скриптик мой лучше стопить, я так пологаю что ему не понравилось что я сравниваю динамическую величину(счетчик) и статическую... решил сделать что бы он условие проверял не в реальном времени а в каждые 10 милесекунд при помощи SetInterval, но тут началось самое интересное. GetTimer считает точно, что при отладке очень корошо видно, а SetInterval каждый раз начинает считать по разному, как ему вздумается, это первое, второе результат скрипта оказался примерно тем же что и в первом случае. И третье, alpha на прозрачность шрифта никак не влиял, абсолютно, т.е. при отрисовке если его менять руками то он становился прозрачным, но при запуске он становился полностью черным, хотя отладчик показывал то значение alpha, которое задавалось, т.е. равное около 20, а в реале никакого эффекта, меня это несколько удивило... Код примерно такой: i = 0 i1 = 0 i2 = 0 i3 = 0 _root.onEnterFrame = function() { SZ_AO._alpha = 0; i1 = getTimer() milli = Math.floor(i1); }; button.onRollOver = function() { i3 = milli timerID1 = setInterval(timerID, 10) timerID = function() { while (i2 < 100) { if (i3 + 20 < milli) { i2 = i2 + 10 }; i3 = i3 + 20 }; }; SZ_AO._alpha = i2; }; Правда коряво немного, но я его долго мучал и не причесывал так как в конечном счете он не заработал... Вообщем ничего из этого не вышло... Хочется услышать ваши коментарии... Ну и последний вопрос. У одной из кнопок надпись сверху(появляющаяся) и при наведении и убирании курсора кнопка просто с ума сходит, с этим можно что то сделать? PS не бейте сильно ногами Помогите начинающему плз. |
|
|||||
|
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Цитата:
Цитата:
Ты правильно решил сделать для появляющейся надписи – отдельный мувик. И, конечно же, удобно сделать этот мувик - один для всех кнопок. Только содержание надписи менять. Значит, в этом мувике будем использовать динамическое текстовое поле, и менять надпись в зависимости от кнопки, на которую наводим мышь. И так, сделали такой мувик, и подлинковали его (дали ему linkage name. Допустим "tip"). Теперь напишем функцию для появления этого мувика: function showTip(txt){
this.attachMovie("tip","tip",0,{_x:_xmouse+10,_y:_ymouse-10});
tip.tf.text = txt;
tip._alpha = 0;
this.onEnterFrame = function(){
tip.startDrag(false)
}
}
Используем его по назначению и пишем функцию изменения прозрачности. Пишем ее в таймлайне мувика-надписи. this.onEnterFrame = function(){
t = _root.flag;
_alpha += (2*t*(_alpha<100)-10*!(t)*(_alpha>0));
if(_alpha<=0){
this.removeMovieClip();
}
}
Вот и все. А нет, вот еще одна мелочь. Для того, чтобы шрифт дружил с альфой, надо его ембедить. Для этого, - выдели динамическое текстовое поле и, на панельки "Properties" нажми кнопку "Characters". Выбери "All Characters". Вот теперь все. Подробности в примере.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) Последний раз редактировалось sergwizard; 24.07.2004 в 14:42. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
визард, если бы на этгом форуме были какие-нибудь еще награды (кроме плюсов
) - за это объяснение ты бы точно получил одну респект ![]() Последний раз редактировалось Nox Noctis; 24.07.2004 в 23:42. |
|
|||||
|
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Да…,
знаешь, в последнее время что-то редко попадаются вопросы, заданные не в форме "сделай мне" или "сделай за меня", а в нормальной, вежливой форме. Да к тому же еще человек показывает, ЧТО он сам сделал, какие усилия сам прилагал… Пусть неправильно, пусть что-то не получалось, но ведь сам..., старался…, делал. То есть не на халяву хочет. И самое главное, - наглости и спеси нет. Таким людям хочется помогать.ЗЫ. А насчет наград, - ты, как модератор, можешь и свою ввести. Я думаю, идея неплохая. Многие сочли бы за честь получить ее от тебя. Вот и пусть стремятся… Тем самым уровень форума повысится. А? как тебе такая (твоя же) идея? ![]()
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
и пусть на моём надгробии будет написано кратко: "умер от скромности" :))))
|
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Цитата:
сгорел на работе". И на могиле не будет сидеть прекрасная вдова с персидскими глазами. И заплаканные дети не будут спрашивать: "Папа, папа, слышишь ли ты нас? " ![]() |
|
|||||
|
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Nox, пусть скромность красит тех, кого уже ничто украсить не может.
А на твоем надгробье напишут: "Зарезан DeliMIter(ом). Случайно." Штрек, ты что "Двенадцать стульев" и "Золотого теленка" наизусть знаешь? Как "Отче наш"? Ты дом достроил?
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Цитата:
Если б достроил, давно б организовал бы какой нить семинар на тему" О влиянии морского воздуха на творческие способности народонаселения с форума Флэшер.ру" /с выездом на место. / |
|
|||||
|
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Ну-у-у..., ты какой-то маньяк сексуальный (зачеркнуто) строительный.
Леньтяюга! Скоро уже лето закончится... Nuran тебе этого не простит, он уже второй месяц на чемодане сидит. ![]()
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
Цитата:
не меньше штуки баксов, а их предполагается - ....надцать. Ну и так далее... |
![]() |
Часовой пояс GMT +4, время: 02:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|