Редактировать # 2 Я нашел решение, оно оказалось более простым, чем я мог надеяться. Спасибо за ваше время. =) (Ответил на мой вопрос с полным решением)
Редактировать: Мои извинения за то, что мой пост был недостаточно прозрачным ... Я попытаюсь повторить для большей ясности. Я не просто пытаюсь вместить вещи и изменить размер контейнера без изменения размера содержимого. Я бы просто использовал для этого простой MovieClip .. Мое основное внимание уделено использованию BitmapFill . Я пытаюсь сделать повторяющееся фоновое изображение для контейнера; пока я могу нарисовать мой спрайт BitmapFill до нужного мне размера. (Это высота сцены), но когда размер сцены изменяется, я хочу изменить размер моего контейнера, но мои контейнеры должны обрезать BitmapFill или добавить больше, когда размер окна увеличивается или уменьшается. Позвольте мне проиллюстрировать, что я имею в виду:
Надеюсь, это устранит путаницу и поможет с более прямыми ответами.
------- Исходное сообщение:
У меня есть простой прямоугольный спрайт, который заполняется растровым изображением из библиотеки, и простая функция обработчика изменения размера, которая определяет, когда окно было изменено.
То, что я хотел бы сделать, это изменить размер прямоугольника до высоты stage.stageHeight, сохраняя его растровое заполнение, но без изменения размера растровое заполнение или любые дочерние элементы в спрайте.
Из того, что я прочитал, это немного сложно, потому что размер спрайта изменяется относительно того, что он содержит ... или ... что-то вроде этого ... Я действительно больше не знаю ... Я видел один пример, где человек расширил класс спрайтов, но я не знаю почему или как ..
в моей библиотеке есть изображение с именем 'pattern', и мой код выглядит так:
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, resizeHandler, false, 0, true);
var bgData:pattern = new pattern(0,0);
var bg:Sprite = new Sprite();
bg.graphics.beginBitmapFill(bgData, null, true, false);
bg.graphics.drawRect( 0, 0, 80, stage.stageHeight);
bg.graphics.endFill();
addChild(bg);
function resizeHandler(e:Event=null):void
{
trace("dimensions are: " + stage.stageWidth + " x " + stage.stageHeight);
bg.height = stage.stageHeight; //simply makes the fill resize also
}