Показать сообщение отдельно
Старый 10.07.2006, 19:27
Dimonnn вне форума Посмотреть профиль Отправить личное сообщение для Dimonnn Найти все сообщения от Dimonnn
  № 1  
Ответить с цитированием
Dimonnn

Регистрация: Sep 2005
Сообщений: 7
По умолчанию функция увеличения альфы от 0 до 100

Всем здрасте
Скорее всего, тем кто серьезно занимается флэшем, вопрос покажется дилетантским, и все же прошу помочь...

Идея следующая:
У меня есть картинка, я ее оттрэйсил, и кусками конвертнул в мувики. (как бы мозайка получилась)

Далее, хочу сделать, чтобы к примеру за 7 секунд все кусочки в разнобой проявлялись и картинка бы собиралась целиком.
Первый вариант был топорный - делаем кучу моушентвинов и каждый кусочек анимируем, предварительно рассчитав время появления и т.д.
Такой способ не годится для меня, посему я придумал следующее:

Ну сперва формируем рандомную последовательность проявления, собираем массив из названий мувиков (с этим все гуд)

Далее создаем такую функцию, которая бы "проявляла" мувик
вот она:
Код:
function alph(mName){
	var i=0;
	while (i<=100){
		onEnterFrame(i+= 0.1);
		with (mName) {
			_alpha = i;
			trace(_alpha);
				}
		}
}
mName - имя обекта, который необходимо проявить
после чего надо в зависимости от последовательности проявления, в определенном кадре применить данную функцию к каждому куску.

возникли 2 проблемы:
1) если протестить функцию на определенном куске, то получается, что он проявляется сразу (хотя трэйс альфы говорит, что альфа выруливается постепенно). Т.е. была альфа 0, потом выполняется цикл, алфа инкремируется, а как альфа 100 - появляется объект. Мое мнение, что нету четкой привязки ко времени... onEnterFrame относительно чего должен быть? (ощущение, что внтри функции он какой-то свой) пробовал делать отдельный клип, и относительно него делать onEnterFrame... результат тот же

2)ну и соответственно из первой проблемы вытекает вторая, как бы найти какой-то универсальный счетчик времени, отсчитывая которым кадры (или время) можно было четко все вовремя вызывать. исполнять и т.д.


Последний раз редактировалось iNils; 10.07.2006 в 19:42.