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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: 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 и остаётся такой.. в чём касяк?

Старый 14.04.2006, 10:43
Король вне форума Посмотреть профиль Отправить личное сообщение для Король Найти все сообщения от Король
  № 2  
Ответить с цитированием
Король
 
Аватар для Король

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
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.
Старый 14.04.2006, 11:18
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 3  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
вот блин, а я постеснялся спросить, давно правда дело было галлерею сам делал с нуля, намучился, думаю почему только первый подгружается кадр остальные не грузятся, пришлось извращатся...во дела!

Старый 14.04.2006, 12:12
breez38 вне форума Посмотреть профиль Отправить личное сообщение для breez38 Найти все сообщения от breez38
  № 4  
Ответить с цитированием
breez38
 
Аватар для breez38

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
еще один человек столкнулся с "хитростями загрузки". Загрузка во Флеше происходит АСИНХРОННО, то есть, если вызываешь loadMovie, то это не значит что у тебя сначала пройдет загрузка, а уж потом будет выполняться код просле него. Как раз наоборот: сначала выполниться весь код, а затем только будет начата загрузка.
К тому же после загрузки все обработчики событый, "навешанные" на клип до загрузки, типа onEnterFrame или onPress, сбрасываются и их нужно навешивать снова.
Так что, если тебе нужно, чтоб картика загрузилась, а потом плавно проявилась, то тебе нужно сначала ее загрузить, а по окончанию загрузки прицепить ей onEnterFrame в котором собственно и будешь плавно проявлять. Поэтому для загрузки вместо loadMovie используй MovieClipLoader и отлавливай у него событие onLoadInit (настувает, когда то что загружалось готово к использованию).
И еще:
У тебя свойство _alpha не дойдет до 100, а останиться на 96, т.е. картинка будет слегка прозрачной . (я думаю ты понял почему)
Так что лучше изменить код вот так:
Код:
test.onEnterFrame = function()
{
	if (test._alpha + 6 < 100)
		test._alpha += 6;
	else test._alpha = 100;
}
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

Старый 14.04.2006, 12:23
Король вне форума Посмотреть профиль Отправить личное сообщение для Король Найти все сообщения от Король
  № 5  
Ответить с цитированием
Король
 
Аватар для Король

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
или так
Код:
_alpha += 5

Старый 14.04.2006, 12:27
breez38 вне форума Посмотреть профиль Отправить личное сообщение для breez38 Найти все сообщения от breez38
  № 6  
Ответить с цитированием
breez38
 
Аватар для breez38

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
или использовать инкремент, являющийся делителем 100
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

Старый 14.04.2006, 12:30
Король вне форума Посмотреть профиль Отправить личное сообщение для Король Найти все сообщения от Король
  № 7  
Ответить с цитированием
Король
 
Аватар для Король

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 2,736
Отправить сообщение для Король с помощью ICQ
или использовать _alpha += Math.ceil((100 - _alpha)/n)

Старый 14.04.2006, 12:32
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 8  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
может книгу напишем "1001 способ _alpha +"

Старый 14.04.2006, 13:23
scourge ' kangaroo вне форума Посмотреть профиль Отправить личное сообщение для scourge ' kangaroo Посетить домашнюю страницу scourge ' kangaroo Найти все сообщения от scourge ' kangaroo
  № 9  
Ответить с цитированием
scourge ' kangaroo
[1.3 07.09.2006]
[3 28.09.2006]
[+1 04.10.2006]
 
Аватар для scourge ' kangaroo

Регистрация: Sep 2005
Сообщений: 390
Отправить сообщение для scourge ' kangaroo с помощью ICQ
где-то я уже это видел

Старый 14.04.2006, 18:03
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 10  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
Цитата:
Сообщение от Король
или использовать _alpha += Math.ceil((100 - _alpha)/n)
По аккуратнее всех нубов распугаете
__________________
BestMasterиZация

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

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

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


 


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


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