Actionscript 2

ActionScript 2.0: гумовий банер

Це всього лише один із способів створення гумового банера у Flash. Реалізовано на старому-доброму ActionScript 2.0. щоб не було проблем з тими користувачами, які роками не оновлюють Flash Player на своєму комп'ютері.

Для початку, створимо новий проект під ActionScript 2.0. Я задав для проекту розміри 400 X 60 (це реальний розмір нашого банера). На головній часовій шкалі цього нового проекту помістимо порожній MovieClip по імені container_mc. Усередині мувіка container_mc на найнижчому рівні створимо мувікліп bg_mc. Розміри bg_mc: 1600 X 1200 (це максимальний розмір нашого банера). bg_mc - це, як можна здогадатися по його імені, загальний фон для нашого майбутнього гумового банера. Вище мувіка bg_mc ми створимо мувікліп banner_mc. banner_mc - це сам банер і його розміри повинні збігатися з розмірами проекту (400 X 60). Для більшої наочності я залив banner_mc сірим кольором і помістив напис "Гумовий банер", а bg_mc залив чорно-червоним градієнтом. Але для своїх проектів ви, природно, повинні підбирати найбільш підходящі поєднання :-)

Заготівля готова. Переходимо до написання коду.

Код ActionScript 2.0:

Залишився ще один момент: нам треба змінити код вставки SWF -Ролики таким чином, щоб можна було використовувати гумовий банер. Для цього ми вкажемо width = 100%.

Давайте перевіримо результат:

А тепер спробуйте змінити розміри вікна браузера. Помітили? Разом з розмірами вікна браузера змінюється і наш банер (по крайней мере, це відбувається у всіх браузерах, які мені зараз доступні). Банер, фактично, став гумовим. Що й треба було зробити.

І на цьому у мене все. Дякуємо за увагу.

Вихідні тексти до уроку можна завантажити за цим посиланням (під Adobe Flash CS6).

Max, погано зрозумів вашу думку. Подія працює - зміна розмірів вікна призводить до змін в флешці. Але ось суть цих змін для мене залишилася незрозумілою.

Щось подібне спробував зробити на as3
_код_
var normalWidth: Number;
var normalHeight: Number;

this.stage.scaleMode = "noScale";
this.stage.align = "TL";

this.normalWidth = this.stage.stageWidth;
this.normalHeight = this.stage.stageHeight;

mc2.xRatio = mc2.x / this.stage.stageWidth;
mc2.yRatio = mc2.y / this.stage.stageHeight;

function resizeHandler (e: Event = null): void

mc1.scaleX = this.stage.stageWidth / this.normalWidth;
mc1.scaleY = this.stage.stageHeight / this.normalHeight;

mc2.x = this.stage.stageWidth * mc2.xRatio;
mc2.y = this.stage.stageHeight * mc2.yRatio;
>
_код_
Ну і там всередині два квадратика вилазять на сцену. Віконце за габаритами зраджую і ніби як мувік стають товстішими-тонше, але коли кнопку відпускаю - повертаються до своїх початкових розмірів. Не знаю, повинно так бути чи ні.