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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Jul 2004
Сообщений: 1
По умолчанию Ошибка при использование функции _visible и еще пара вопросов.

Доброго времени суток.

Последнюю неделю не спал, захватил процесс создания всякой разности на 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 не бейте сильно ногами Помогите начинающему плз.

Старый 24.07.2004, 14:41
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 2  
sergwizard
 
Аватар для sergwizard

Регистрация: 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)
		}
}
Ты заметил, что при вызове этого мувика, мы сразу даем ему полную прозрачность (tip._alpha = 0). И, для того, чтобы постепенно менять эту самую альфу, нам – в данном случае – не нужно использовать никакого getTimer и setInterval,- у нас есть намного более простой и доступный метод – onEnterFrame.
Используем его по назначению и пишем функцию изменения прозрачности. Пишем ее в таймлайне мувика-надписи.
Код:
 this.onEnterFrame = function(){
	t = _root.flag;
_alpha += (2*t*(_alpha<100)-10*!(t)*(_alpha>0)); 
if(_alpha<=0){
		this.removeMovieClip();
}
}
А теперь вписываем в кнопки примерно такой код:
Код:
 on(rollOver){
	flag=1;
	showTip("Это такая надпись");
}
on(rollOut, press){
	flag =0;
}
Вот и все. А нет, вот еще одна мелочь. Для того, чтобы шрифт дружил с альфой, надо его ембедить. Для этого, - выдели динамическое текстовое поле и, на панельки "Properties" нажми кнопку "Characters". Выбери "All Characters".
Вот теперь все.
Подробности в примере.
Вложения
Тип файла: zip tooltip1.zip (19.8 Кб, 211 просмотров)
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)


Последний раз редактировалось sergwizard; 24.07.2004 в 14:42.
Старый 24.07.2004, 23:34
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 3  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
визард, если бы на этгом форуме были какие-нибудь еще награды (кроме плюсов ) - за это объяснение ты бы точно получил одну респект


Последний раз редактировалось Nox Noctis; 24.07.2004 в 23:42.
Старый 25.07.2004, 00:08
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 4  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Да…, знаешь, в последнее время что-то редко попадаются вопросы, заданные не в форме "сделай мне" или "сделай за меня", а в нормальной, вежливой форме. Да к тому же еще человек показывает, ЧТО он сам сделал, какие усилия сам прилагал… Пусть неправильно, пусть что-то не получалось, но ведь сам..., старался…, делал. То есть не на халяву хочет. И самое главное, - наглости и спеси нет. Таким людям хочется помогать.

ЗЫ. А насчет наград, - ты, как модератор, можешь и свою ввести. Я думаю, идея неплохая. Многие сочли бы за честь получить ее от тебя. Вот и пусть стремятся… Тем самым уровень форума повысится.
А? как тебе такая (твоя же) идея?
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 25.07.2004, 00:53
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 5  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
и пусть на моём надгробии будет написано кратко: "умер от скромности" :))))

Старый 25.07.2004, 01:36
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 6  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Оригинал написал(а) Nox Noctis
и пусть на моём надгробии будет написано кратко: "умер от скромности" )))
"............. И никто не напишет про вас в газете: "Еще один
сгорел на работе". И на могиле не будет сидеть прекрасная вдова с персидскими глазами. И заплаканные дети не будут спрашивать: "Папа, папа, слышишь ли ты нас? "

Старый 25.07.2004, 01:50
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 7  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Nox, пусть скромность красит тех, кого уже ничто украсить не может.
А на твоем надгробье напишут: "Зарезан DeliMIter(ом). Случайно."
Штрек, ты что "Двенадцать стульев" и "Золотого теленка" наизусть знаешь? Как "Отче наш"?
Ты дом достроил?
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 25.07.2004, 02:15
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 8  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Оригинал написал(а) sergwizard
Ты дом достроил?
Как в сексе - главное процесс.
Если б достроил, давно б организовал бы
какой нить семинар на тему" О влиянии морского
воздуха на творческие способности народонаселения с форума Флэшер.ру" /с выездом на место. /

Старый 25.07.2004, 02:30
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 9  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Ну-у-у..., ты какой-то маньяк сексуальный (зачеркнуто) строительный.
Леньтяюга! Скоро уже лето закончится... Nuran тебе этого не простит, он уже второй месяц на чемодане сидит.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 25.07.2004, 02:42
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 10  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Оригинал написал(а) sergwizard
Леньтяюга!
Оборудование только одной ванной комнаты -
не меньше штуки баксов, а их предполагается -
....надцать. Ну и так далее...

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

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

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


 


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


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