Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Масштабирование флэшки
Flash Zone Forum > Macromedia Flash > Общие вопросы
Kotofeich
Вообщем есть флэшка в html размером где-то 3000*2000. Мне нужно отобразить только ее ЦЕНТР 1024*758 если у пользователя 17 дюймовый монитор, и большую часть, если у пользователя монитор больше.
Можете помочь, подсказать как это реализуется?
Заранее спасибо.
Flashery
Просто. Используй свойство Stage.align для попадания области.
А если нужно именно масштабирование пользуйся " резиновым флешем " о чем уже писалось на форуме смотри поиском.
Так же можно оставить один клип а внутри его засунуть все содержимое и масштабировать этот клип. Так же сли флеш не особо сложный можноуказать в публикации Exact FIT и процентное соотношение 100% - 100% что будет масштабироватьтвою флешку на любом мониторе
Rotwang
Ребята, объясните кто-нибудь, что такое "резина"? Например, в задании написано:
Цитата
Ширина 100% (растягиваться в сзависимости от разрешения)
- высота максимум 300 пикс

Что это значит? Моя флешка должна растягиваться в зависимости от рарешения монитора пользователя? Фон будет занимать всю ширину экрана, а мувики, находящиеся над фоном, будут центрироваться? Или что?
А если фон неоднородный, например? Что тогда?
И еще такая непонятная ситуация. Если я создаю флешку с белым фоном и при нажатии Publish
создается веб страница тоже с белым фоном, и границ флешки не видно. А вот если я меняю цвет фона флешки скажем, на красный, то и вся страница окрашивается таким же цветом. Как сделать, чтобы страница оставалась белой, не или какой она там должна быть, но не цвета фона моей флешки?
DJKOT
 об этом уже писалось ранее. при добавлении флешки в страницу в параметрах впиши ей wmode = transparent.
Rotwang
Цитата(DJKOT @ 6.12.2009 - 16:05) *
в параметрах впиши ей wmode = transparent.

Это в Publish Settings нужно делать?
MustLive
Цитата
Ребята, объясните кто-нибудь, что такое "резина"?

Rotwang

В html резиновый дизайн, означает что он растягивается в зависимости от размеров экрана (т.к. значения задаются в процентах). Т.е. значения размеров для таблиц или стилей задаются в процентах. Для флеша тот же подход - размеры флешки в html-коде задаются в процентах.

Цитата
Как сделать, чтобы страница оставалась белой, не или какой она там должна быть, но не цвета фона моей флешки?

Цвет фона веб страницы задаётся в html-коде или css. Вручную или в html-редакторе задай нужный цвет фона веб страницы (который задаётся в теге body).

Например белый цвет для фона страницы задаётся следующим кодом:
HTML
<body bgcolor="#ffffff">

Если тебе нужно сделать флешку прозрачной, то задай параметру wmode значение transparent, как уже тебе сказал DJKOT.

Цитата
Это в Publish Settings нужно делать?

Это можно сделать руками в html-коде флешки (добавить wmode для тегов object и embed). А можно сделать и во Флеш редакторе. Зайди в File -> Publish Settings -> HTML и для параметра Window Mode задай Transparent Windowsless.
Rotwang
Цитата(MustLive @ 13.12.2009 - 19:05) *
В html резиновый дизайн, означает что он растягивается в зависимости от размеров экрана (т.к. значения задаются в процентах). Т.е. значения размеров для таблиц или стилей задаются в процентах. Для флеша тот же подход - размеры флешки в html-коде задаются в процентах.

Это я понимаю. Меня в основном интересует, что происхоит  с мувиками и с фоном при масштабировании? Для того, чтобы мувики всегда оставались на своем месте (например в нижнем или верхнем углу, или в центре) я нашел код, как это сделать. А если же фоном является фотография? Как он будет себя вести?

И еще: не мог бы кто-нибудь выложить свою резиновую флешку?
Rotwang
Вот пробую сделать свою первую резину. В первом кадре, чтобы ц у меня объект оставался на своем месте прирастягивании, написал:
Код
stage.scaleMode = StageScaleMode.NO_SCALE;

stage.align = StageAlign.TOP_LEFT;

stage.addEventListener(Event.RESIZE, resizeListener);
function resizeListener(e:Event):void{
    logo.x = stage.stageWidth - 80;
    trace(stage.stageWidth);
}

logo - это мой единственный объект. Делаю Test Movie, тяну окно флешки за уголок - все нормально, флешка растягивается и logo сегда прилеплеплен к правому краю, как и нужно. Но вот делаю Publish, в коде странички пишу 
Код
'width', '100%',
, флешка моя растягивается... А лого остается на прежнем месте, т.е. не следует за правым краем! mad.gif Почему же?

P.S.
Нашлось все-таки решение. Оказывается, если я регистрирую только Event.RESIZE, то резиновость у меня будет работать только в "обычном" флеш-плеере. Чтобы она работала еще и в браузере(что и являлось целью), нужно было регистрировать еще и Event.INIT:
Код
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

this.loaderInfo.addEventListener(Event.INIT, resizeListener);
stage.addEventListener(Event.RESIZE, resizeListener);
function resizeListener(e:Event):void{
    logo.x = stage.stageWidth - 80;
    trace(stage.stageWidth);
}
Rotwang
Цитата(MustLive @ 13.12.2009 - 19:05) *
Если тебе нужно сделать флешку прозрачной, то задай параметру wmode значение transparent, как уже тебе сказал DJKOT.
Это можно сделать руками в html-коде флешки (добавить wmode для тегов object и embed). А можно сделать и во Флеш редакторе. Зайди в File -> Publish Settings -> HTML и для параметра Window Mode задай Transparent Windowsless.

Нет, мне не прозрачной надо делать флешку, а чтобы у флешки оставался свой фон (например, черный), а у веб-страницы свой (белый). Методом проб и ошибок нашел такой способ: делаю Publish c Window Mode "Window", страница становится черной у меня, как и фон флешки. А потом вручную в коде страницы меняю цвет на FFFFFF (белый).
MustLive
Цитата
Нет, мне не прозрачной надо делать флешку, а чтобы у флешки оставался свой фон (например, черный), а у веб-страницы свой (белый).

Rotwang, о том как сделать свой фон для веб страницы (отличный от фона флешки) я писал ранее.

HTML
<body bgcolor="#ffffff">

Цитата
Методом проб и ошибок нашел такой способ

Зачем же мучиться методом проб и ошибок, если я ещё 13.12.2009 написал о том, как это сделать wink.gif.

При этом замечу, что если ты будешь использовать Publish, то веб страница постоянно будет обновляться на дефолтную и соответственно тебе постоянно нужно будет указывать нужный цвет фона. А если на данной html странице ты сделал ещё какие-либо изменения, то все они будут утеряны и тебе придётся повторно их делать.

Поэтому я не рекомендую тебе для рабочих нужд использовать Publish для генерации html-файла для флешки. Используй подход профессионалов: генерируй только swf-файл, который уже подключай к нужной html-ке (руками прописывая нужный код или в профессиональных html-редакторах, таких как Dreamweaver). И в нужной тебе html-ке будет указан нужный фон и другой html код. А через Publish генерируй html-файлы только для тестовых нужд.
Rotwang
Столкнулся с такой проблемой. Делаю Publish, открываю html-страницу, в которую она встроена - размеры нормальные. Потом выкладываю флешку на одном сайте - моя флешка растягивается во весь экран и теряет качество, соответственно. Значит, всегда нужно в Publish Settings устанавливать Scale: No scale? Или нужно в коде обязательно прописывать? А то вот погорел на такой простой вещи mad.gif
Я ставлю Stage.scaleMode = StageScaleMode.NO_SCALE;, а потом на странице, где я ее вывешиваю, показывается не только то, что входит в рабочую область флешки, но и то что за краями у меня! Те. флешка вообще теряет свой товарный вид!

И еще: как мне точно убедиться, что моя флешка везде отображается нормально?
Rotwang
Люди пишут, что в AS2 все это просто решается:
Код
Stage.align = "CC";
Stage.scaleMode = "noScale";

А у меня-то почему гн работает?

Решил так: кладу сверху мувик размером с рабочую область, назначаю его маской 
Код
root.mask = mc;
, делаю этот мувик прозрачным и помещаю его самым верхним в списке отображения.
Русская версия IP.Board © 2001-2014 IPS, Inc.