![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Feb 2006
Сообщений: 37
|
Добрый день, подскажите, пожалуйста:
есть ряд мувиков, они подгружаются в ленту в помощью MovieClipLoader и потом расставляются по местам. По замыслу, они должны быть greyscale, т.е., обесцвеченными, а только при наведении мышки - цветными. так вот, в локале все работает, а в сети работает только с первой картинкой цикла! поскажите, почему такое может быть? заранее признательна код примерно такой:
//в самом начале
import flash.filters.ColorMatrixFilter;
var myElements_array:Array = [0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0, 0, 0, 1, 0];
var grey:ColorMatrixFilter = new ColorMatrixFilter(myElements_array);
var myElements_array2:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var color:ColorMatrixFilter = new ColorMatrixFilter(myElements_array2);
//потом загрузка списка, внутри onData запускаются остальные ф-ции,
//в т.ч. ф-ция загрузки через MCЛодер, внутри него - расставляется все
//по местам, и написано для каждого (через цикл) мувика примерно следующее:
путь к картинке["t"+i].onRollOut = function() {
arrOfClips[i].filters = [color];
}
путь к картинке["t"+i].onRollOut = function() {
arrOfClips[i].filters = [grey];
}
экспорт - тоже, в 8-й плеер |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 37
|
в папках, два уровня вложенности.
каждая картинка - в своей папке названия папок передаются из массива |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 37
|
неужели оно не поддерживает картинки из разных папок?
они же вроде подгружаются в swf, должны слушаться ![]() |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 37
|
попробовала перенести картинки в корневую директорию -
все та же самая проблема - работает только первая картинка, остальные остаются цветными... и если положить в ту же директорию, что и swf-шник, в который все грузится - все то же написала в несущей html-ке version плеера - 8, но это кажется ничего не значит толком... помогите не зарыться... ![]() Последний раз редактировалось Micar; 30.05.2006 в 14:49. |
|
|||||
|
а зачем два раза onRollOut?
лучше покажи код где грузишь картинки. а еще лучше весь код.
__________________
Давайте отбросим факты, чтобы увидеть суть |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 37
|
буду рада если кто посмотрит
вот RAR, в нем фла, все лишнее я стерла для понятности знаю, что про другое вопросы надо отдельно задавать, и я задам, но вдруг - если уж будете смотреть - тормозит у меня просчет вначале - в чем ошибка? два раза rollOut - это опечатка, разумеется ![]() |
|
|||||
|
Регистрация: Dec 2005
Сообщений: 316
|
дело явно в загрузке картинок - первый раз действительно все в цвете, после f5 - как надо. видимо ты начинаешь их обрабатывать раньше, чем они загрузятся.
|
|
|||||
|
Регистрация: Feb 2006
Сообщений: 37
|
Уважаемые знатоки
!!!кажется, я поняла в чем дело - я запускала много циклов, а стоило использовать параметр функции onLoadInit во всяком случае вот это работает import flash.filters.ColorMatrixFilter;
var myElements_array:Array = [0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0, 0, 0, 1, 0];
var grey:ColorMatrixFilter = new ColorMatrixFilter(myElements_array);
var myElements_array2:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var color:ColorMatrixFilter = new ColorMatrixFilter(myElements_array2);
makeImages(8);
function makeImages(j) {
var list = {};
var loader = new MovieClipLoader();
loader.addListener(list);
for (i=0; i<j; i++) {
this.createEmptyMovieClip("o"+i, i);
this["o"+i]._x = 100+ i*150;
this["o"+i]._y = 300;
var mes = this["o"+i];
loader.loadClip(i+".jpg", mes);
}
list.onLoadInit = function(u) {
u.filters = [grey];
u.onRollOver = function() {
this.filters = [color];
}
u.onRollOut = function() {
this.filters = [grey];
}
}
}
надеюсь будет работать и в проекте спасибо за человеческое участие! |
|
|||||
|
действительно, миллион раз уже проблемы была в том что делаешь что-то с клипом, который ещё не загрузился. мораль - всегда любые действия с клипом, загружаемым извне (не attachMovie) делать только проверив что загрузка завершена. лучше всего MovieClipLoader.onLoadInit.
ещё ужасная штука - если внутри клипа есть код, он выполняется после того как выполнится весь код которые его аттачит. например сначала выведется 'mc1 attached', потом 'mc1 init'. неинтуитивно и вообще плохо (с классами например всё правильно и с точность до наоборот, сначала будет конструктор, потом только attachMovie возвращается и будет 'mc1 attached'). |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|