![]() |
SetInterval-Что же он наделал =/
Ребят, у меня такая вот шляпа : Я имею некий мувик "IMAGE", лежащий в руте... и имею много картинок маленьких - превьюшек больших фото.... при нажатии на одну маленнькую картинку вылезет соответствующая большая... и загрузится в Мувике "image"... В Image пишу так :
onClipEvent (load) { _visible = true; _root.image._x = 500-_width/2; _root.image._alpha = 0; alpa = setInterval(function () { _root.image._alpha = _root.image._alpha+3; if (_root.image._alpha == 100) { clearInterval(alpa); } }, 100); } Что это делает вы уже поняли?(Эффект плавного появления большой фотки после нажатия на соответствующую маленькую миниатюру) Проблема в том, что загрузив таким образом штук эдак 35 фоток этот эффект перестает действовать... и фотки начинают уже грузиться моментально - хоп, и открылась =)... Грешу на то что где-то насифачил и происходит следущее - вновь загруженная фотка не имеет значение _alpha = 0, так у первой фотки станет начальное значение _alpha = 0 +3.. у второй 3+3... и так далее... А мне надо чтоб каждая фотка загруженная в мувик image имела нач. значение alpha = 0, чтоб alpha потом не плюсовалась с подгрузкой новой картинки... Заранее благодарен! |
может проблема в том, что ты проверяешь на равенство? может лучше написать
if (_root.image._alpha > 100) { _root.image._alpha = 100; //это так на всяк случай clearInterval(alpa); } |
Да... это непричем - ведь альфа больше сотни не бывает....
|
Цитата:
mc.lineStyle (0, 0); mc.beginFill (0); mc.lineTo (100, 0); mc.lineTo (100, 100); mc.lineTo (0, 100); mc.lineTo (0, 0); mc.endFill (); mc._alpha = 0; this.onEnterFrame = function () { mc._alpha += 3; trace (mc._alpha); }; |
попробуй сделать символ qq и посомтри в окно OutPut
_root.qq._alpha = 103; trace(_root.qq._alpha); |
как всегда пока пробовал во флеше iNils ответил :) респект iNils
|
Чем дело то кончилось ... ну я понил что может - просто картинка то не может быть прозрачней непрозрачного.... Кто нить по существу не поможет??
|
EnterFrame нада удалять -)
this.createEmptyMovieClip("mc", 0); mc.lineStyle(0, 0); mc.beginFill(0); mc.lineTo(100, 0); mc.lineTo(100, 100); mc.lineTo(0, 100); mc.lineTo(0, 0); mc.endFill(); mc._alpha = 0; this.onEnterFrame = function() { if (mc._alpha<100) { mc._alpha += 3; } else { delete this.onEnterFrame; } trace(mc._alpha); }; |
Смысл в том, что надо проверять не на равно 100, а больше либо равно 100.
Кроме того прибавляя к нулевой альфе 3, вы получите альфа равное не 3, а 2.734375. |
Не помогло - .... он гасит фото, а не проявляет.. и там маленький клочек, а нужно на всю фотку... когда подобрал координаты заливки, мувик начал уезжать влево, хотя там стоит центрирование... оч. странно!
|
| Часовой пояс GMT +4, время: 11:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.