PDA

Просмотр полной версии : Игнорирование размеров объекта


cv'
14.01.2011, 18:26
Доброго, вам, уважаемые flash-самураи!

Есть ли какой-либо способ игнорировать размеры объекта (мувиклипа) при расчете размеров его родителей?

=)

КорДум
14.01.2011, 19:35
Ну, как бы, размеры родителя в таком случае будут равны 0. Потому что родитель без содержимого (объектов) пустой. Некорректный вопрос.
Вам нужно считать размеры контейнера перед добавлением в него других объектов. Или можно поизвращаться: внутренний объект перетащить кодом в точку (0, 0), сделать ему _xscale = _yscale = 0, посчитать размеры получившегося, затем вернуть внутреннему объекту нужные координаты и масштаб ;)

cv'
14.01.2011, 19:52
Пример:

Есть контейнер А
В нем есть Буква Б
И тень от нее В
Хитзона Г
Красивая рамочка Д
Элемент дизайна еще один Е

Как посчитать размер контейнера А игнорируя только тень В.

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

Можно ли как-то сделать типа

this.ignoreBounds = true

Чтобы именно объекты этого класса не просчитывались?

КорДум
14.01.2011, 20:04
Сделайте у класса B метод hide(), в нем запоминайте старые координаты и масштаб, меняйте все в какую-нибудь точку, где есть другая графика от экземпляров других классов, меняйте масштаб до 0. Затем считайте размер контейнера, вызывайте метод show(), который поставит все в нужные места и вернет размеры. Извращения да и только. Но других вариантов как бы и нет. И да, _visible скроет только визуально объект и уберет его из перерисовки, но он останется в контейнере и будет занимать место.