ПредишенСледващото

задача: да се научите как да създадете Flash клипове, заемащи всички прозореца на браузъра.

Рецептата казва как да се организира промяната на местоположението и размера на клипа, в зависимост от размера на прозореца на флаш плейър (или включете). Дръжте го прости. )

Той отдавна е никаква изненада "каучук" HTML сайт - сайт, чието съдържание се промени, за да запълни целия прозорец на браузъра. Въпреки факта, че за да направим същото и с Flash е съвсем проста, гума флаш сайтове не отговарят толкова често.

В допълнение към нуждите на проекта, може да са необходими на каучука в един случай - ако не знае предварително кои може да се гледа на страницата на видео, или подозирате, че може да се наложи да промените размера на видео на страницата, без да е необходима допълнителна подкрепа Flash Developer. към върха

Основното нещо - да се направи набор от действия, извършени чрез позициониране на обекти, когато сменяте размера на прозореца.

Често срещан механизъм. За информация относно размера и настройките на видео сцени построен клас отговаря на Stage. Този клас има няколко статични свойства, които ще се нуждаят от:
  • Stage.width - прозорец ширина валяк в HTML страница или в Flash плеър.
  • Stage.height - височината на прозореца на валяк в HTML страница или в Flash плеър.
  • Stage.scaleMode - приближаване етап. Възможните стойности на този имот и подробно описание на техните действия трябва да помогне на статия. Мога само да кажа, че имаме нужда Stage.scaleMode = режим "noScale". където светкавицата няма да се опитвам да мащабирате видео съдържание от размера на прозореца.
  • Stage.align - Съдържание на ролката за подравняване в прозореца на играч или браузър. Имоти определя подравняването вертикално и хоризонтално. В примерите в тази статия ще използвам привеждането в съответствие с горния ляв ъгъл на прозореца, от там Stage.align = "TL" (Т - отгоре, L - ляво). Мисля, че е най-удобно. Но по принцип, можете да използвате всеки друг удобен ли вида на привеждане в съответствие, не е от съществено значение.
Класът Етап изпраща съобщения за събития "onResize", когато промените размера на прозореца на плейър или браузъра. Сега е важно да се разбере само едно нещо: когато размера на прозореца се задейства автоматично onResize метод във всички специално подготвен за този обект. За да се подготви един обект да се отговори на промените в размера на прозореца, което трябва да направите две неща:
  • Създаване на метод в обекта onResize
  • Присвояване на обекта към класа на Етап
Внимание! Събития onResize механизъм ще работи само когато системата Stage.scaleMode = "noScale".

Първото нещо, което можете да направите: Сега трябва да се каже на класа етап, нашата obekt_reagiruyuschy трябва да бъде уведомен за промените размера на прозореца. Това се извършва чрез превода на линията на скрипта е буквално "добави към редиците на obekt_reagiruyuschy слушателите Етап класа." Заслужава да се отбележи, че "слушателя" - е, в този случай, терминът. Слушатели наречените обекти, които пожелали да получават уведомления за някои събития.

Така че, за подготовка на рецепта да реагират на промените в размера на прозореца: По принцип не е задължително да се създаде нов обект, за да бъдат поставени в нея onResize метод. Можете да го използвате за някой от съществуващите обекти от всякакъв вид, например, _root: Тя е по-удобно и по-логично, ако действието е само 1-2.

Опитайте се да промените размера на прозореца на браузъра, и се уверете, че подписът е винаги в долния десен ъгъл на промиване кутията.

Прием за улесняване на живота. Често ролка развитие с променливи размери е необходимо да се позиционира много обекти, в зависимост от размера на прозореца. И доста често тя изисква пропорционална промяна в размера / позицията на клиповете. Това може да стане, както е показано в пример 1 и е възможно да се измисли нещо по-интересно. )

Така например, създаване на сцената на следните обекти:

Сега нека да оставим всички тези обекти са разположени пропорционално на размера на прозореца, като се брои за "нормално" Размерът 400h300 (все още питам само промяна на позиция).
Резултат 2: [изглед].

Опитайте се да се простират и сгъстяване на прозореца на браузъра и да видим как движещи се обекти в същото време. Ние помним съотношението на координати на всеки обект с нормални размери на сцената. Когато промените размера на прозореца е достатъчна, за да се размножават в съответните размери на пропорциите на запаметените стойности за получаване на желаните стойности координират.

Сега добавете преоразмеряване. Нека диапазон клип винаги се мащабира пропорционално на размерите на прозореца, нека площада ще бъде опъната само хоризонтално и триъгълника се удължава само вертикално. За да добавите преоразмеряване, трябва да се помни, пропорциите на височина и ширина същите, както ние си спомни част координати. Добавени части са отбелязани с удебелен шрифт.
Резултати 3: [изглед].

Опитайте се да промените размера на прозореца на браузъра и да видим как се движат и мащабни обекти. Моля, имайте предвид, че буквите в текстовото поле на правото да не се деформират, когато един имот се променя _width област. Вместо това се възстановява своите текстови силови линии в съответствие с предварително определена ширина.

Крайният щрих към нашите прекрасни функции onResize: добавете няколко реда за показване на текущия размер на етапа на флаш. Сега, ние винаги ще знаете какво текущия размер на етапа на флаш в пиксели.

Подкрепете проекта - споделете линка, благодаря!