Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Програмная рамка в "резиновом" баннере (http://www.flasher.ru/forum/showthread.php?t=209014)

Denisator 02.10.2014 20:35

Програмная рамка в "резиновом" баннере
 
Появилась необходимость програмно нарисовать 1 пиксельную рамку в "резиновом" баннере.
Так вот при Stage.align="T" (когда ролик выравнивается по центру окна) непонятно как рисовать рамку что-бы она была прилеплена к левому краю окна. Если рисовать начиная из (0, 0) то при увеличении Stage по горизонтали у рамки появляется отступ от края окна слева, а на какое расстояние её сдвинуть вправо что-бы она прилипла к левому краю окна не потнятно.

dark256 02.10.2014 23:55

Ну вот примеры:
http://specs.adfox.ru/page/144/

Цитата:

Stage.align="T"
Один геморрой от такого выравнивания. TL и все просто, как велосипед.

Denisator 03.10.2014 01:11

Цитата:

Сообщение от dark256 (Сообщение 1172897)
Ну вот примеры:
http://specs.adfox.ru/page/144/
Один геморрой от такого выравнивания. TL и все просто, как велосипед.

Эх, не всё так просто. Если баннер растягивается слишком сильно то содержание должно быть по центру баннера. В принципе у меня всё содержание баннера находится в одном клипе который лежит в _root и этот клип по идее можно скриптом выравнивать по центру относительно Stage, но проблема в том что ширина этого клипа постоянно меняется в зависимости от анимации его внутренних элементов.

dark256 03.10.2014 15:29

Вставьте в клип прозрачный элемент, который всегда однозначно задает у него... ну... скажем "ЦЕНТР"...
И относительно этого постоянного элемента позиционируйте клип.

Или устанавливайте его относительно абсолютных координат. К примеру? есть у меня анимация с таймлайнами и прочим. Размер ессно произвольный. На стэйдже весь этот бутерброд валяется с координатами допустим -100 на 378.....
Соотв выравниваем клип по центру по Х :

Код AS1/AS2:

var sourceStageWidth = Stage.width // Запоминаем базовый размер холста при запуске флэшки. Или просто от руки прописываем размер, который нам известен.
 
function onResize(){
clip._x = -100+( Stage.width - sourceStageWidth )/2
}

Соответственно, мы видим изменение размера холста и двигаем всю нашу кучу...

Denisator 03.10.2014 19:23

Цитата:

Сообщение от dark256 (Сообщение 1172909)
Или устанавливайте его относительно абсолютных координат. К примеру? есть у меня анимация с таймлайнами и прочим. Размер ессно произвольный. На стэйдже весь этот бутерброд валяется с координатами допустим -100 на 378.....

Спасибо! Способ отлично помог.


Часовой пояс GMT +4, время: 18:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.