Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 22.12.2008, 22:20
petav вне форума Посмотреть профиль Отправить личное сообщение для petav Найти все сообщения от petav
  № 1  
petav

Регистрация: Dec 2008
Сообщений: 67
По умолчанию Резиновый Flash ролик для AS3

Здравствуйте нашел статью http://flash-mx.ru/url_elastic - резиновый флэш ролик. Видимо здесь описывается AS2, поэтому в AS3 не получилось пример воссоздать.

Я могу object в HTML дать 100% ширину и высоту. Ролик растягивается на весь экран, но вместе с ним масштабируется и содержимое. В данном примере при изменении размера ролика срабатывает обработчик onResize и проводит манипуляции с объектом и он остается прежних размеров.

В моем ролике много объектов не ужели я должен как то влиять на width и height каждого. У меня это судороги вызовет.

Может есть какой нибудь более изящный способ. Если нет то ткните пожалуйста в пример данной реализации на AS3.

Старый 22.12.2008, 22:47
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Stage.scaleMode

Старый 23.12.2008, 00:19
petav вне форума Посмотреть профиль Отправить личное сообщение для petav Найти все сообщения от petav
  № 3  
petav

Регистрация: Dec 2008
Сообщений: 67
Код AS3:
stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 
stage.addEventListener(Event.RESIZE, onResize); 
 
 
private function onResize(e:Event=null):void	{     
trace( stage.stageWidth ); 
}
Компилятор ругается на "StageScaleMode" и "StageAlign" возможно я не все классы подключил
Код AS3:
import flash.display.Stage;


Последний раз редактировалось petav; 23.12.2008 в 00:21.
Старый 23.12.2008, 00:24
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 4  
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
StageScaleMode StageAlign и не подключили
__________________
: M F N W :

Старый 23.12.2008, 00:27
CEBEP вне форума Посмотреть профиль Отправить личное сообщение для CEBEP Посетить домашнюю страницу CEBEP Найти все сообщения от CEBEP
  № 5  
CEBEP
 
Аватар для CEBEP

Регистрация: Nov 2006
Сообщений: 688
Отправить сообщение для CEBEP с помощью ICQ Отправить сообщение для CEBEP с помощью Skype™
Код AS3:
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
 
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
 
stage.addEventListener(Event.ACTIVATE, onRes);
stage.addEventListener(Event.RESIZE, onRes);
 
 
function onResScreen():void
{
 
}
Вот В HTML не забываем ставить 100%.
__________________
"I am the terror that flaps in the night…!"


Последний раз редактировалось CEBEP; 23.12.2008 в 00:30.
Старый 23.12.2008, 13:35
petav вне форума Посмотреть профиль Отправить личное сообщение для petav Найти все сообщения от petav
  № 6  
petav

Регистрация: Dec 2008
Сообщений: 67
CEBEP, благодарю

Старый 25.02.2009, 03:38
PACTAMAH вне форума Посмотреть профиль Отправить личное сообщение для PACTAMAH Посетить домашнюю страницу PACTAMAH Найти все сообщения от PACTAMAH
  № 7  
PACTAMAH

Регистрация: Jun 2001
Адрес: Москва
Сообщений: 7
Отправить сообщение для PACTAMAH с помощью AIM Отправить сообщение для PACTAMAH с помощью Yahoo
CEBEP, Спасибо за ответ, давно искал как сделать, ссылали на сайт http://noregret.org/tutor/elastic/ но что-то как ламеру ничего не дало, а тут все понятно и коротко!

выкидывает только A type identifier is expected after the ':'. Source - function onResScreen():void

Но резиновость работает!...

И можно ли из этого кода сделать размер по умолчанию 1200 х 800 допустим, если область окна меньше то уменьшает, если больше 1200 х 800, то размер флешки остется исходный???

Старый 25.02.2009, 04:26
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 8  
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
if в помощь.
__________________
Дело не в тебе

Старый 25.02.2009, 10:44
CEBEP вне форума Посмотреть профиль Отправить личное сообщение для CEBEP Посетить домашнюю страницу CEBEP Найти все сообщения от CEBEP
  № 9  
CEBEP
 
Аватар для CEBEP

Регистрация: Nov 2006
Сообщений: 688
Отправить сообщение для CEBEP с помощью ICQ Отправить сообщение для CEBEP с помощью Skype™
Упс, код с ощибкой выложил. Вот правильный вариант.
Код AS3:
import flash.display.StageAlign;
import flash.display.StageScaleMode;
 
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
 
//stage.addEventListener(Event.ACTIVATE, onRes);
stage.addEventListener(Event.RESIZE, onRes);
this.loaderInfo.addEventListener(Event.INIT, onRes);
 
 
function onRes(e:Event):void
{
 trace(e.type);
 this.loaderInfo.removeEventListener(Event.INIT, onRes); 
 
}
Я как понимаю - Event.ACTIVATE, нафиг не нужен, ибо он срабатывает при получении фокуса флешкой, для stand-alone плеера работает, но вот для браузера нет, ибо там фокус флешка получает за долго до того как добавляется слушатель, поэтому лучше юзать Event.INIT.
__________________
"I am the terror that flaps in the night…!"

Старый 25.02.2009, 13:07
PACTAMAH вне форума Посмотреть профиль Отправить личное сообщение для PACTAMAH Посетить домашнюю страницу PACTAMAH Найти все сообщения от PACTAMAH
  № 10  
PACTAMAH

Регистрация: Jun 2001
Адрес: Москва
Сообщений: 7
Отправить сообщение для PACTAMAH с помощью AIM Отправить сообщение для PACTAMAH с помощью Yahoo
СЕВЕР, тоже работает, но что-то терь у меня ругнулось на - The class or interface 'Event' could not be loaded. Source - function onRes(e:Event):void

Может из-за того что смешанный тип полчился AS2 и AS3 по умолчанию AS2... т.к. и прелоадер первым кадром, вторым кадром перехват мышки на свой рисунок курсора + все мувики и кнопки...

Не догоню куда к function onRes привязывать if и _height ... она у меня 800, а вот если будет меньше то пусть сжимает...

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 23:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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