![]() |
установка ширины высоты флешки
Тема наверное распространенная но все же интересует пара вопросов касающихся именно работы подобной функции:
и так я использую для загрузки моего приложения SWFObject в котором собственно устанавливаю размеры как возможно данные параметры подгрузить флешке при ее инициализации что бы она тем самым их подхватила и работала в соответствие с размерами, на данный момент устанавливаю размеры флешки таким образом Код AS3:
|
размеры флэшки задаются в IDE до компиляции, вы их не поменяете при загрузки передавая ей какие либо параметры
Добавлено через 1 минуту выход может быть в определении скриптом разрешения пользователя и после этого подсовывания пользователю флэшки с нужным разрешением |
можно сделать "резину", встроив ее в html страницу, можно менять размер области для флешки.
извините если коряво написано, не придумал как правильно сформулировать мысль. |
хммм, ну понятно что я как написал выше их указал при компиляции, а как в данном случае выйти? мне нужно из js установить размер флешки любыми способами, я почитал статьи про резиновые флешки но не нашел для себя подходящего...
|
из swf вы передаете в js новые параметры высоты\ширина,
jc принимает их и меняет размер встроенной флешки примерно так выгляди функция jc Код:
function my_width_size(_width){ |
хорошо тогда наоборот: я инициализирую флешку через swfobject таким образом:
Код:
swfobject.embedSWF("/bin-debug/Main.swf", config.mapName, config.windowSize.width, config.windowSize.height, "10", "/js/swfobject/binexpressInstall.swf", null, null, null, this.mapOnload);Код:
config.windowSize.width, config.windowSize.heightКод AS3:
|
нет я говорю про ризоный флеш, т.е. когда вы меняете в html странице область встраивания флеша, соответсвено меняется и размер флешки, т.к. она резиновая,
а вот если вам надо менять объекты внутри swf исходя из размеров сцены, с помощью js вам надо передавать размеры во флешку, и опять же менять размеры встраивания, это единственный вариант, который мне пришел в голову, когда работал над artfamily.info, там необходимо было как - то менять размеры swf, при открытии изображения в галереях пс посидел подумал, в принципе, если флеш резиновая и все объекты находятся в каком - то контейнере, то при изменении размеров контейнера, и размер флешки изменится, останется только изменить размер встраивания в странице, хотя может это и не то что надо |
ну у флешки то как изменить размер?
|
я думаю релиазовать подобный эффект можно так(я так думаю):
создаете резиновую флешку, в ней контейнер, в котором будут храниться все объекты, при изменении размеров контейнера, должен будет измениться размер(ширина, высота и т.п.) области куда встроена флеш в html странице и если, Вы, измените этот размер, с помощью js, то визуально это будет выглядеть так, как, Вы, хотите... попробуйте, если я понятно объяснил, если нет то сейчас попробую найти исходник где лежит исходник |
Кстати (к слову) необязательно менять размер элемента куда встраивается флешка, можно изменить размеры самого Object-а, т.е. искать по document.getElementById не 'myAlternativeContent' а идентификатор флешного объекта, вроде в 4 браузерах проверял - работает и можно не выставлять изначально размеры как 100% , 100%.
|
ну я этого и имел ввиду, просто не знал как правильно это сказать,... спасибо, за более понятное дополнение к теме
|
Цитата:
что то у меня ощущение что метод не совсем верный |
IE8, IE6, последние версии (релизы) Opera, FF, Chrome
даже в пяти получается :) ощущение такое же в начале было |
а сафарик, у него там свои всегда заморочки
|
в сафари и в хроме один движок используется, будет работать, вы попробовали, то что мы вам посоветовали?
|
Размер вашей флешки это stage.stageWidth и stage.stageHeight, при условии, что stage.scaleMode = StageScaleMode.NO_SCALE
|
Цитата:
с помощью flashvars установил значения из JS Код AS3:
|
Вобщем ну совсем не вижу проблемы. Жаваскриптой устанавливайте нужные размеры флеш-элемента на основе разрешения монитора пользователя ( ну или на основе чего-нибудь другого).
И в режиме stage.scaleMode = StageScaleMode.NO_SCALE переменные stage.stageWidth и stage.stageHeight содержат реальные размеры окна, которые были проставлены в html. UPD: Извиняюсь, уже ответили :) Не обновил страничку перед написанием ответа :( Добавлено через 5 минут Код AS3:
|
Зачем так сложно?
stage.stageWidth и stage.stageHeight показывают текущие размеры html-контейнера, в котором находится флэшка. Вот простой пример: Код AS3:
|
Цитата:
Код AS3:
ну а здесь их присваиваю для того чтоб флеш сам знал размеры или я не правильно что то понял? Добавлено через 2 минуты Цитата:
спасибо за пример, наконец разобрался!!! и всем остальным тож спасиб помогли в полном непонимании |
| Часовой пояс GMT +4, время: 03:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.