![]() |
OnEnterFrame почему то один раз только обрабатывается
_root.createEmptyMovieClip("test", 0);
test._x = 2; test._y = 2; loadMovie("test.jpg", test, "GET"); test._alpha = 0; test.onEnterFrame = function() { if (test._alpha < 100) test._alpha += 6; } вот test.onEnterFrame выполняется один раз и всё.. то есть альфа мувика увеличивается на 6 и остаётся такой.. в чём касяк? |
loadMovie и onEnterFrame несовместимы в таком исполнении
Код:
Using event handlers with MovieClip.loadMovie() |
вот блин, а я постеснялся спросить, давно правда дело было галлерею сам делал с нуля, намучился, думаю почему только первый подгружается кадр остальные не грузятся, пришлось извращатся...во дела!
|
еще один человек столкнулся с "хитростями загрузки". Загрузка во Флеше происходит АСИНХРОННО, то есть, если вызываешь loadMovie, то это не значит что у тебя сначала пройдет загрузка, а уж потом будет выполняться код просле него. Как раз наоборот: сначала выполниться весь код, а затем только будет начата загрузка.
К тому же после загрузки все обработчики событый, "навешанные" на клип до загрузки, типа onEnterFrame или onPress, сбрасываются и их нужно навешивать снова. Так что, если тебе нужно, чтоб картика загрузилась, а потом плавно проявилась, то тебе нужно сначала ее загрузить, а по окончанию загрузки прицепить ей onEnterFrame в котором собственно и будешь плавно проявлять. Поэтому для загрузки вместо loadMovie используй MovieClipLoader и отлавливай у него событие onLoadInit (настувает, когда то что загружалось готово к использованию). И еще: У тебя свойство _alpha не дойдет до 100, а останиться на 96, т.е. картинка будет слегка прозрачной :). (я думаю ты понял почему) Так что лучше изменить код вот так: Код:
test.onEnterFrame = function() |
или так
Код:
_alpha += 5 |
или использовать инкремент, являющийся делителем 100
|
или использовать _alpha += Math.ceil((100 - _alpha)/n)
|
может книгу напишем "1001 способ _alpha +"
|
где-то я уже это видел :mosking:
|
Цитата:
|
| Часовой пояс GMT +4, время: 15:14. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.