Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   можно ли изменять программно габариты ролика? (http://www.flasher.ru/forum/showthread.php?t=181673)

viktorami 29.06.2012 13:54

можно ли изменять программно габариты ролика?
 
что то вроде изменения параметров stage?
собственно вот в чем проблема: есть флэш сайт определенных размеров. если на сайте html текст не влазит в высоту экрана - появляется полоса прокрутки. а как эту проблему решить в as3? как вариант можно было бы увеличить высоту всего ролика или как это делается?

illuzor 29.06.2012 14:01

Размер контейнера можно менять только извне.
Как вариант - вызываем через ExternalInterface js функцию, которая меняет размер контейнера.

Hauts 29.06.2012 14:01

Все от конкретного случая зависит. Вы можете показывать полосу прокрутки, а можете и просто масштабировать, с помощью scale или width/height.

Aquahawk 29.06.2012 14:04

скейлмод стейджа в none, алигн как удобно, обычно наверх налево, и потом через externalInterface при помощи js тянем свой контейнер. Если externalInterface запрещён то никак. Вот недавно совсем пост на эту тему видел http://edapskov.ru/pages.php?id=224

viktorami 29.06.2012 14:07

в целом понял. но ведь это все очень сложно. а как в реальности поступают на флэш сайтах если нужна элементарная прокрутка при большом количестве текста на одной из страниц?

Aquahawk 29.06.2012 14:11

что в этом сложного то? Это раз.

Во вторых
Цитата:

сайте html текст не влазит в высоту экрана
это не нужно решать as3.

Wolsh 29.06.2012 14:22

Я тоже сам вопрос не понял.
"html текст" — это текст на html-странице, то есть не в ролике swf? При чем тут тогда AS3 и вообще...
Если надо динамически подправлять лейаут страницы так, чтобы весь контент умещался в одном экране (т.е. без прокруток), это в любом случае надо решать джаваскриптами. Тогда "окно" с роликом, то есть содержащий его DIV масштабируется джаваскриптом до нужных остальной странице размеров. А как уж реагирует сам ролик на изменение его размеров, решается обычной "резиной" по событию от Stage — Event.RESIZE.

Добавлено через 7 минут
В любом случае сама флэшка не знает ничего о странице, о браузере и прочих вещах, не имеющих отношения к ней лично. Это все параметры для html-страницы, ей с ними и разбираться. В том числе с размером div'а для ролика. Сам ролик в любом случае не обладает данными для принятия решения о ресайзе. Если бы он занимался такими решениями, то надо было бы: вычислить на странице новые размеры для ролика; передать эти размеры ролику через ExternalInterface; ролик должен был бы вызвать через ExternalInterface функцию джваскрипта на странице, изменяющую размер div'а. Сам собой встает вопрос — а нафига в этой цепочке ролик? Надо просто вычислить размеры div'a и применить их. Скриптом на странице.

viktorami 29.06.2012 14:30

ну вот у меня на флэше сайт. на одной страничке текста мало(внутри флэша) пользователь перешел на другую страничу(внутри флэша) текста - много. если бы ТАКОЕ случилось в html - браузер бы стал сколлировать весь контекнт. как в таком случае поступают если весь сайт на флэш?

Wolsh 29.06.2012 14:33

Делают скроллер для текста, например..

viktorami 29.06.2012 14:52

то есть технология флэш не приветствует изменение самого фрейма флэш.


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

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