![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2009
Сообщений: 20
|
День добрый.
Столкнулся с такой проблемой - делаю резиновый ролик, фон заполняю растровым изображением с помощью beginBitmapFill (libBitmap - фоновая картинка). Всё бы ничего только не могу background`ом сделать (полученный фон "лежит" сверху и всё перекрывает). Можете подсказать как этого можно избежать? _root.listener = new Object(); _root.listener.onResize = function() { this.scaleMovie(); } Stage.addListener(_root.listener); this.scaleMovie = function() { trace("А окошечко-то другим стало"); } Stage.scaleMode = "noscale"; Stage.align = "TL"; // // сама функция function resizeContent ():Void { bmp_fill_mc._width = Stage.width/2; bmp_fill_mc._x = (Stage.width - my_mc._width)/2; } // // слушатель для события onResize var resizeListener:Object = new Object(); resizeListener.onResize = risizeContent; Stage.addListener(resizeListener); import flash.display.*; import flash.geom.*; var myBitmapData:BitmapData = BitmapData.loadBitmap ("libBitmap"); this.createEmptyMovieClip ("bmp_fill_mc", this.getNextHighestDepth ()); with (bmp_fill_mc) { matrix = new Matrix (); repeat = true; beginBitmapFill (myBitmapData, matrix, repeat, smoothing); moveTo (0, 0); lineTo (0, 3000); lineTo (3000, 3000); lineTo (3000, 0); lineTo (0, 0); endFill (); } bmp_fill_mc._xscale = 100; bmp_fill_mc._yscale = 100; |
|
|||||
|
Модрон-ветеринар
|
Цитата:
Например, фон создайте на нулевой глубине, а не на самой последней, а контент разместите в контейнере на глубине 1.
__________________
Идите первым! |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Или _root залейте.
|
|
|||||
|
Регистрация: Mar 2009
Сообщений: 20
|
т.е так?:
а как в контейнер слой отдельный поместить (который должен быть сверху)? |
|
|||||
|
Модрон-ветеринар
|
Нет.
Вот это выражение вычисляет последнюю свободную глубину внутри объекта, на который указывает this: Чтобы создать мувик на 0-ой глубине, следует просто записать Лучше сделайте как udaff посоветовал, тогда не надо будет лишние контейнеры создавать. То есть ничего не создавайте, а просто залейте _root: import flash.display.*; import flash.geom.*; var myBitmapData:BitmapData = BitmapData.loadBitmap ("libBitmap"); matrix = new Matrix (); repeat = true; beginBitmapFill (myBitmapData, matrix, repeat, smoothing); moveTo (0, 0); lineTo (0, 3000); lineTo (3000, 3000); lineTo (3000, 0); lineTo (0, 0); endFill ();
__________________
Идите первым! Последний раз редактировалось mooncar; 23.11.2010 в 16:37. |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 20
|
Спасибо, всё заработало
Т.к. бэкграундом надо "замостить" код немного изменил _root.listener = new Object(); _root.listener.onResize = function() { this.scaleMovie(); } Stage.addListener(_root.listener); this.scaleMovie = function() { trace("А окошечко-то другим стало"); } Stage.scaleMode = "noscale"; Stage.align = "TL"; // // сама функция function resizeContent ():Void { bmp_fill_mc._width = Stage.width/2; bmp_fill_mc._x = (Stage.width - my_mc._width)/2; } // // слушатель для события onResize var resizeListener:Object = new Object(); resizeListener.onResize = risizeContent; Stage.addListener(resizeListener); import flash.display.*; import flash.geom.*; var myBitmapData:BitmapData = BitmapData.loadBitmap ("libBitmap"); //this.createEmptyMovieClip ("bmp_fill_mc", this.getNextHighestDepth ()); with (myBitmapData) { matrix = new Matrix (); repeat = true; beginBitmapFill (myBitmapData, matrix, repeat, smoothing); moveTo (0, 0); lineTo (0, 3000); lineTo (3000, 3000); lineTo (3000, 0); lineTo (0, 0); endFill (); } bmp_fill_mc._xscale = 100; bmp_fill_mc._yscale = 100; есть мувик,который отображается в правом углу флешки. При растяжении оной фон "замощается" но мувик не остаётся справа (остаётся на том же самом месте), как можно это исправить? |
|
|||||
|
Модрон-ветеринар
|
Корректируйте его положение в той же функции resizeContent.
Вначале нужно запомнить его положение по x и y и начальные размеры сцены. И, поскольку у вас стоит "TL", задаете в resizeContent добавки к начальным координатам как разности между новыми размерами сцены и старыми значениями ширины и выстоты. Если бы стояло "T", делали бы половинную добавку, т.к. растяжение-сжатие сцены происходило бы от центра.
__________________
Идите первым! |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 20
|
Спасибо.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 16:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|