|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2007
Сообщений: 85
|
Флешка на всю ширину сайта, не масштабируемая при масштабировании страницы
Задача сделать чтоб флешка, при разных разрешениях экрана вписывалась на всю страничку по ширине. Для этого я в HTML делаю ей width=100%. Ширина самой флешки 1200. Пробую на разных мониторах, все нормально- флешка растягивается,сужается. Но при масштабировании страницы, флешка тоже масштабируется, что не нужно мне по задумке!
Если запрещать флешке масштабирование, те писать: то она не растягивается по ширине экрана. Подскажите есть ли какое решение данной проблемы. Последний раз редактировалось udaaff; 17.01.2011 в 21:07. |
|
|||||
Lorem ipsum
|
Вопрос не в том разделе. В HTML все сделано верно. NO_SCALE тоже правильно.
Дальше работаем над расположением элементов с помощью Stage#stageWidth и Stage#stageHeight.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Oct 2007
Сообщений: 85
|
Zebestov, понимаете, мне нужно чтобы флешка растягивалась в браузере на полную ширину, но сохраняла пропорции по высоте.
Stage#stageWidth и Stage#stageHeight это значения только для чтения же, а мне нужно растянуть всю флеш (можно с маштабированием элементов внутри) |
|
|||||
Lorem ipsum
|
Цитата:
Цитата:
Добавлено через 2 минуты Наугад: вместо NO_SCALE используй NO_BORDER
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Oct 2007
Сообщений: 85
|
я не так выразился)
Тоесть флешка занимает всю максимальную ширину окна (высота пропорциональна увличивается), но при сужении ширины браузера (окна) высота не уменьшается) Любой флеш сайт прмером может послужить, при разных разрешениях экрана флеш раздвигается под макс ширину браузера, но высота остается пропорционально ширине (примечание. флеш при сужении окошка не сжимается по ширине а просто скрывает края...ну как при NO_SCALE) |
|
|||||
Lorem ipsum
|
А как ты прописываешь высоту в HTML?
Просто при width=100%, height=100% и stage.scaleMode=StageScaleMode.SHOW_ALL все должно происходить именно так, как ты и хочешь. С учетом такой путаницы тебе наверное лучше уже показать проблему.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Oct 2007
Сообщений: 85
|
Сейчас вышлю ссылку на пример)
Добавлено через 25 минут http://pavel-ocokin.narod.ru/ak3.html Вот) Сама флешка серым цветом. Ширина 1000, высота 600. Буквы начинаются и кончаются ровно по краям флешка. Тут загрузил с параметром NO_SCALE. Это правильно. Эфект при сужении расширении окна именно такой о каком я говорил. Как видно флеш не растягивается по длинне, нужно чтобы флешка была от края до края по ширине браузера (тоесть в развернутом виде браузера). Высота как я и говорил должна сохранять пропорции. Ширина и Высота - но скейл - тоесть как загрузили, больше будет меняться. Т.е. ЧТобы человек загрузил с расширением 800 на 600, ширина флешки стала 800 - высота соотвественно в пропорции тоже уменьшилась) 1200 на 720 - ширина 1200,высота увеличилась. Вот такая штука... хтмл: <script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript"> swfobject.embedSWF("NOscale.swf", "flash1", "100%", "100%", "9", "/swf/expressInstall.swf"); </script> <div id="flash1"> <p>Flash Clocks, install adobe flash player</p> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p> </div> </html> <style type="text/css"> body { margin: 0; padding: 0; } </style> </html> Последний раз редактировалось Toxedo; 17.01.2011 в 21:44. |
|
|||||
Lorem ipsum
|
Выходит при ширине меньше 1000px флэшка должна вести себя как SHOW_ALL, а при ширине больше 1000px — как NO_BORDER. Но если я не ошибаюсь, событие Event.RESIZE внутри флэшки, по которому ты мог бы делать подобное переключение тебе не подойдет — согласно документации оно работает только при NO_SCALE.
Тогда доработаем javascript из этой темы и размещаем его в <head></head>: <script language="javascript"> function getSWFHeight() { var clientWidth = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth; var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight; var res; if (clientWidth < 1000 || clientHeight / clientWidth > 0.6) { res = clientWidth * 0.6; } else { res = "100%"; } return res; } function fitSWF() { var my = document.getElementById('flash1'); my.height = getSWFHeight(); } </script> <script type="text/javascript"> swfobject.embedSWF("NOscale.swf", "flash1", "100%", getSWFHeight(), "9", "/swf/expressInstall.swf"); </script> И наконец в самом мувике: При таких делах мувик всегда будет на всю ширину браузера, а если высоты меньше, чем нужно — нижний край обрежется.
__________________
Поймай яблоко 2! Последний раз редактировалось Zebestov; 17.01.2011 в 23:10. |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
оффтоп: а откуда мода пошла обозначать методы классов через Stage#stageHeight?
В справочнике # - это якорь
__________________
Отряд Котовскага |
|
|||||
Lorem ipsum
|
оффтоп: а я знаю? )
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 00:02. |
|
« Предыдущая тема | Следующая тема » |
|
|