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

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

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

Регистрация: Oct 2005
Сообщений: 207
По умолчанию Период жизни Movie клипов

Ситуевина такая:
хочу сделать индексацию муви клипов в руте. Сделал. Подготовил тестовую сцену, где клипы начинаются с 303, 928 и т.д. (через 625 кадров каждый). Прохожу по тамлайну до конца, но код находит только первое начало (303 кадр), а все остальное НЕТ. Сцена - это Graphics->Loops продолжительностью 625 кадров со вложенным муви клипом.

Код индексации такой:
Код:
var totalMC = 0; // Счетчик мови клипов
var MovieClips = new Array(); // Двумерный массив для сохранения значений
//[0] - начальный кадр
//[1] - продолжительность
//[2] - имя

//Сама функция
InitMovieClips = function ()
{
             //Прогоняю по всем кадрам
	for (i = 1; i <= _parent._totalframes; i++)
	{
		_parent.gotoAndStop(i);
                         // Проверяю все муви клипы в кадре
		for (fname in _parent)
		{
			mc = eval("_parent." + fname);
                                      //Если муви клип и имя не равно заданному (нужно) и продолжительность свыше 1 кадра
			if (typeof(mc) == "movieclip" && fname != _name && mc._totalframes > 1)
			{
                                                   // Ищу в массиве данный клип
				findMC = false;
				for (j = 0; j < totalMC; j++)
				{
					if (MovieClips[j][2] == fname)
					{
						MovieClips[j][1]++;
						findMC = true;
					}
				}
                                                   // Если не нашел то делаю запись
				if (!findMC)
				{
					MovieClips[totalMC] = new Array();
					MovieClips[totalMC][0] = i;
					MovieClips[totalMC][1] = 1;
					MovieClips[totalMC][2] = fname;
					totalMC++;
				}
			}
		}
	}
}
Доп. сведения:
- индексация происходит в момент загзузки
- имена клипам не присваиваются вручную

Внимание вопрос: что за глюк??? Если клипы еще не загрузились, то почему он (флеш) находит первый клип??? А если загрузились, то почему не находит остальные???
Заранее спасибо.

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

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

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


 


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


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