|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jul 2005
Сообщений: 21
|
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() can be unpredictable. If you attach an event handler to a button by using on(), or if you create a dynamic handler by using an event handler method such as MovieClip.onPress(), and then you call loadMovie(), the event handler does not remain after the new content is loaded. However, if you attach an event handler to a movie clip by using onClipEvent() or on(), and then call loadMovie() on that movie clip, the event handler remains after the new content is loaded. Последний раз редактировалось Король; 14.04.2006 в 10:48. |
|
|||||
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
вот блин, а я постеснялся спросить, давно правда дело было галлерею сам делал с нуля, намучился, думаю почему только первый подгружается кадр остальные не грузятся, пришлось извращатся...во дела!
|
|
|||||
еще один человек столкнулся с "хитростями загрузки". Загрузка во Флеше происходит АСИНХРОННО, то есть, если вызываешь loadMovie, то это не значит что у тебя сначала пройдет загрузка, а уж потом будет выполняться код просле него. Как раз наоборот: сначала выполниться весь код, а затем только будет начата загрузка.
К тому же после загрузки все обработчики событый, "навешанные" на клип до загрузки, типа onEnterFrame или onPress, сбрасываются и их нужно навешивать снова. Так что, если тебе нужно, чтоб картика загрузилась, а потом плавно проявилась, то тебе нужно сначала ее загрузить, а по окончанию загрузки прицепить ей onEnterFrame в котором собственно и будешь плавно проявлять. Поэтому для загрузки вместо loadMovie используй MovieClipLoader и отлавливай у него событие onLoadInit (настувает, когда то что загружалось готово к использованию). И еще: У тебя свойство _alpha не дойдет до 100, а останиться на 96, т.е. картинка будет слегка прозрачной . (я думаю ты понял почему) Так что лучше изменить код вот так:
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже! |
|
|||||
|
|
|||||
или использовать инкремент, являющийся делителем 100
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже! |
|
|||||
или использовать _alpha += Math.ceil((100 - _alpha)/n)
|
|
|||||
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
может книгу напишем "1001 способ _alpha +"
|
|
|||||
[1.3 07.09.2006]
[3 28.09.2006] [+1 04.10.2006] |
где-то я уже это видел
|
|
|||||
Ветеран форума
|
Цитата:
__________________
BestMasterиZация |
Часовой пояс GMT +4, время: 13:58. |
|
« Предыдущая тема | Следующая тема » |
|
|