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

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

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

Регистрация: Apr 2006
Сообщений: 107
Post Прелоад многих-многих-многих картинок.

Flash совершенно занял на целый день мою не приспособленную для программирования голову. Дело в том, что причудилась мне очередная галерея; в крайней рассеянности я ходил по дому, иногда отхлёбывая ром из большой тёмной бутыли, — от этого мысли мои становились неторопливыми и ароматными. Наконец, окутанный сизым дымом датского табака, я написал:

Код:
// А сформирую галерею из папки media/...
GALLERI = function () {
	_root.createEmptyMovieClip("forBildere", this.getNextHighestDepth());
	for (var a:Number = 1; a<=N; a++) {
		forBildere.createEmptyMovieClip("forBildere _inn"+a, a);
		var SS = forBildere["forBildere_inn"+a];
		SS.num = a;
		SS.attachMovie("ramme", "ramme", 1);
		// А отнумерую я фотографии
		SS.createTextField("nummerere", 200, x1, y1, 25, 20);
		SS.nummerere.setNewTextFormat(iCSS);
		SS.nummerere.selectable = false;
		SS.nummerere.text = a;
		// А добавлю копирайты на каждое фото
		SS.createTextField("kopirettighet", 201, x2, y2, 100, 20);
		SS.kopirettighet.setNewTextFormat(iCSS);
		SS.kopirettighet.selectable = false;
		SS.kopirettighet.text = "© åum 2008";
		// Тили-тили…
		SS.createEmptyMovieClip("ladder"+a, a++);
		// Стыдоба, конечно. Трали-вали…
		if (a<10) {
			din = "0";
		} else {
			din = "";
		}
		// Это мы не проходили…
		SS["ladder"+a].loadMovie("media/"+din+a+".jpg", ["ladder"+a]);
		// Это нам не задавали…
		SS._x = coordX+(SS._width +grense)*a;
		SS._y = coordY;
	}
};
Спешу пояснить. Я хотел сделать линейную горизонтальную галерею с количеством ячеек N, состоящем из одинаковых по размеру изображений. Управление к нему вкусное сделать — в стиле iTunes. Я имею в виду управление, а не сам стиль.

Данные из xml: N — это количество изображений, grense — интервал м-у изображениями, coordX, coordY... Ну еще другие параметры, которых тут, похоже, нет :)

Так вот, вопрос, который я не смог пока [красиво] одолеть: как наиболее грамотно сделать по прелоадеру в каждой ячейке (то есть, в каждой ячейке показывать и контролировать статус загрузки)? И насколько плох вышенаписанный и тегом обрамлённый код?

Takk!

Неплохо я досуг провожу, всё ж гляжу и думаю :-)
__________________
скромность и гордость

Старый 13.03.2008, 22:53
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
1. Вместо loadMovie, надо использовать класс MovieClipLoader. Как он работает, объяснять не будут, так как есть примеры в хелпе, + множество примеров галерей с исходниками на данном форуме.
2. Вместо
Код:
forBildere.createEmptyMovieClip("forBildere _inn"+a, a);
var SS = forBildere["forBildere_inn"+a];
надо писать
Код:
var ss:MovieClip = forBildere.createEmptyMovieClip("forBildere _inn"+a, a);
Заметьте, ss, а не SS. С большой буквы пишут только имена классов.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 14.03.2008, 02:08
aaum вне форума Посмотреть профиль Отправить личное сообщение для aaum Найти все сообщения от aaum
  № 3  
Ответить с цитированием
aaum
 
Аватар для aaum

Регистрация: Apr 2006
Сообщений: 107
iNils: Спасибо! Кстати, я видел Ваш ответ на аналогичную просьбу.

У меня всегда были проблемы с вложениями, уровнями... Если взять за основу код из вышеуказанного поста, то в моем случае это будет не так?

Код:
		var mcl:MovieClipLoader = new MovieClipLoader();
		mcl.addListener(this);
		this.onLoadInit = function() {
			var mc:MovieClip = ss.createEmptyMovieClip("mc"+a, a+1);
			mcl.loadClip("Media/"+din+a+".jpg", mc);
		};
Прошу прощения за мою любительщину.
__________________
скромность и гордость

Старый 14.03.2008, 02:22
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
За пример лучше взять этот пост или этот, как примеры последовательных загрузок.
Осталось только добавить onLoadProgress для анимации прелоадера.

А в вашем коде не ясно значение "а" и нет запуска следующей загрзуки по окончанию предыдущей.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Apr 2006
Сообщений: 107
iNils:
Можно, я покажу вам исходник? Не могу разбораться в чём-то элементарном.
__________________
скромность и гордость

Старый 14.03.2008, 06:14
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Кто же запрещает
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Apr 2006
Сообщений: 107
aaum.ru/fortemp/to_iNils.zip

Извините, но в загрузчике и его компонентах полный беспорядок Просто, если можно, укажите на ошибку.
__________________
скромность и гордость

Старый 14.03.2008, 06:35
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Эээ, а собственно, что надо сделать?))

А пока нашел две ошибки:
1. iLeft.onPress описан внутри iRight.onPress
2. Версия плеера для публикации стоит 6, а надо 8
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 14.03.2008, 06:42
aaum вне форума Посмотреть профиль Отправить личное сообщение для aaum Найти все сообщения от aaum
  № 9  
Ответить с цитированием
aaum
 
Аватар для aaum

Регистрация: Apr 2006
Сообщений: 107
Спасибо! У меня фотографии грузятся не в ячейки, а в _root. А нужно, чтобы в каждом ss["cont"+a]. Там можно увидеть, что было мной задумано, если освободить 57 и 64 строчки, а this.onLoadInit(); вырубить. Вот в этом проблема — повесить на каждый контейнер ss["cont"+a] по прелоадёру. Я не смог.
__________________
скромность и гордость

Старый 14.03.2008, 07:25
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Хм, ss - это ["forBildere _inn" + a], так зачем внутри объекта с переменной, еще один объект с переменной ["cont"+a], то есть ["forBildere _inn" + a]["cont"+a]?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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