Знаете ли вы, как заставить Sprite позиционировать детей относительно 0,0? - PullRequest
0 голосов
/ 26 сентября 2010

Я пытаюсь добавить несколько полос прокрутки в Sprite, используя ScrollRect. Sprite начинается пустым, и когда я добавляю что-то в 500, 500, он должен прокручиваться, так как он находится вне области просмотра. К сожалению, добавление 10x10 Sprite на 500, 500, не заставляет мой Sprite изменять его размер на 510, 510, но на 10, 10 :: - (.

Мы все знаем, что DisplayObjectContainers изменяют размер в соответствии с тем, что в них заложено. Но до сегодняшнего дня я не знал, что если вы установите что-то на 500, 500, Sprite / DObjContainer НЕ изменит размер от 0, 0 до 500, 500, а просто прыгнет прямо на 500, 500. Раздражает, поскольку я не могу поставить Полосы прокрутки на чем-то, содержание которого колеблется так. Мне нужно 0, 0, чтобы остаться 0, 0, и если что-то помещено в 500, 500, высота спрайта должна увеличиться на 500 + эта высота чего-либо.

Идеи? Insight?

Спасибо заранее :: - D, Scrollmasters :: - D.

Ответы [ 3 ]

1 голос
/ 26 сентября 2010

Я сделал это так:

Container (sprite)
    scrollbars
    content (sprite with scrollrect)

В спрайте содержимого нарисуйте прямоугольник, чтобы придать ему полный размер.

1 голос
/ 27 сентября 2010

Это не изменит высоту / ширину Sprite, поэтому я не уверен, что это поможет вам.Но в случае, если вы управляете кодом, который выполняет прокрутку, вы можете вычислить размер вашего объекта (учитывая, что его источник всегда равен 0,0), получив его границы и добавив x + width и y + height.Примерно так.

var rect:Rectangle = sp.getBounds(sp);
var w:Number = Math.abs(rect.x) + rect.width;
var h:Number = Math.abs(rect.y) + rect.height;

Я использую Math.abs на случай, если вы добавите детей с отрицательным смещением, но из вашего описания это не так, так что вы можете избежать этого шага.

1 голос
/ 26 сентября 2010

быстрое исправление, возможно, не слишком элегантное ... добавьте Shape в свой Sprite с фиксированной высотой 500 и установите альфа в 0 или используйте его для красивого цветного фона :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...