PDA

Просмотр полной версии : BlurFilter не работает


AHKHOBA
08.02.2009, 03:18
Подскажите, кто может, пожалуйста, вот на эту тему: загружаю картинки программно из XML в клип. Таким вот образом (this - клип, принимающий в себя все загружаемые картинки):

for (i=0;i<total_images;i++){
this.createEmptyMovieClip('canva'+i,this.getNextHighestDepth());
this["canva"+i].loadMovie(image.path[i]);//путь к картинке
...
}

Дальше надо размыть картинки (каждую в отдельности, для того, чтобы в последствии можно было убрать размытие у определенной картинки (например, при наведении мыши))

К примеру, пытаюсь конкретную размыть:

var filter = new flash.filters.BlurFilter(25,25,3);
this["canva0"].filters = [filter];

Ничегошеньки НЕ размывается.

PS: Размеры картинок 179х129 пикселей. Если применять размытие для всего клипа (this.filters = [filter]), тогда работает:umnik2:. Другие операции с подгруженными картинками (масшабирование и пр) работают, то есть дело скорее всего либо с особенностью фильтра, либо с недостатком понимания особенностей фильтра:)

Кто знает?

iNils
08.02.2009, 03:31
1. Для оформления своего кода надо использовать теги
2. Для загрузки используйте класс MovieClipLoader, а не устаревший метод loadMovie. У данного класса есть событие onLoadInit, после наступления которого и назначайте фильтр.

amexdesign
08.02.2009, 04:03
К примеру, пытаюсь конкретную размыть:
var filter = new flash.filters.BlurFilter(25,25,3);
this["canva0"].filters = [filter];
правильно будет вот так:
var filter = new flash.filters.BlurFilter(25,25,3);
this["canva" + 0].filters = [filter];
соответственно для каждого мувика в массиве:
var filter = new flash.filters.BlurFilter(25,25,3);
this["canva" + i].filters = [filter];
и ещё один момент, размытие по x и y аксе в 25 пикселей при размере картинки в 179х129 пикселей многовато будет, мувики превратятся в размытые бесформенные пятна, если ваще эти пятна видны будут... так что советую поменьше сделать... да, и не забудьте про 2 пункт в топике iNils`a, да и первый тоже...

AHKHOBA
08.02.2009, 04:06
Спасибо-спасибо, стану разбираться...
Для загрузки используйте класс MovieClipLoader, а не устаревший метод loadMovie
То есть loadMovie совершенно и ни при каких обстоятельствах (особенно данных, конкретных) не желателен и даже вреден??

qazwsx
08.02.2009, 09:11
Да дак оно и есть. В хелпе можно на некоторые классы/методы увидить в описании что они не рекомендованы к использованию. Или смотреть есть ли более новые аналаги и тд...