PDA

Просмотр полной версии : Свойство filters скрывает объекты на спрайте


s3dworld
28.02.2012, 19:48
Всем доброго вечера!

У меня есть спрайт GUIMainBottom. Он создаёт следующие спрайты:

- GUIMainBottomLeft (левая часть панели);
- GUIMainBottomRight (правая часть панели);
- вектор GUIMainBottomMiddle'ров (располагаются между левой и правой панелью);
- вектор GUIMainBottomFriend'ов (располагаются на GUIMainBottomMiddle'рах)

Всё это добавлено через addChild() к GUIMainBottom. Далее у меня есть класс GUIFilter со следующим содержимым:


package d.game.filter
{
import flash.filters.BlurFilter;

// Фильтры отображения GUI
public class GUIFilter
{
public var blurFilter:Array=null;

// Конструктор
public function GUIFilter()
{
// Фильтр объектов
blurFilter=new Array();
blurFilter.push(new BlurFilter(7,7,1));
}

}

}


При этом этот класс создаётся в классе Game и виден всем:


public static var guiFilter:GUIFilter=null;


Суть такова, что когда я из класса GUIManager хочу для класса GUIMainBottom установить фильтр:


guiMainBottom.filters=Game.guiFilter.blurFilter;


У меня становятся невидимые объекты GUIMainBottomFriend'сы. Просто исчезают, будто для них установлено свойство visible равное false. Проверял, дело именно в этой строчке. Стоит её закомментировать, так GUIMainBottomFriend'сы не пропадают.

В чём может быть причина?

Wolsh
28.02.2012, 20:18
Может всетакиpublic static var guiFilter:GUIFilter=new GUIFilter();

s3dworld
29.02.2012, 13:57
Wolsh
А разница? Я всё равно его создаю в конструкторе:


guiFilter=new GUIFilter();