Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Размер загруженой SWF (http://www.flasher.ru/forum/showthread.php?t=116243)

MaskiShow 06.03.2009 11:08

Такая же проблема. Кто-нибудь знает решение? :)

Котяра 06.03.2009 11:14

ну в чем проблема? загружайте клип смотрите его _width и _height, если они больше каких-то пределов, скалируйте или ставьте маску. Узнать размер stage подгружаемой swf невозможно - его не существует.

MaskiShow 06.03.2009 11:31

: (

Размеры клипа не катят - они динамически меняются при проигрывании файла, и даже на первом фрейме обычно не соответсвуют размерам stage (есть объекты, которые находятся за сценой и увеличивают размеры контейнера), о чем уже и говорили. Задать маску по этим данным невозможно.

Может есть какие-нибудь другие варианты загрузки swf файла, например чтобы в окне флеш оболочки он отображался как html страница с файлом например?

Котяра 06.03.2009 11:40

так что вам нужно тогда? если главный клип телевизор: сделайте маску по его экрану раз и навсегда одного размера, по маской поместите клип и в него уже грузите мувики для просмотра.

Добавлено через 14 минут
Цитата:

Сообщение от Doctor76 (Сообщение 765996)
Да если б я знал эти размеры. проблем бы не было.
Но клиент в XML сегодня одну флешку прописал, завтра другую.
Ладно, не парьтесь ребята. Буду думать альтернативные варианты...

Пусть вместе с именем флэшки пишет размеры как это делается например в тегах IMG в HTML

MaskiShow 06.03.2009 11:59

Вы не поняли что нужно мне и автору темы, а пытаетесь давать советы. Прочитайте тему еще раз с самого начала, пожауйста.
Проигрыватель swf и даже редактор веб-страниц (при copy-paste в него некоторых swf файлов) узнает размер сцены swf файла - думаю, есть способ это сделать и на АС2.

Добавлено через 22 минуты
ОК, допустим вариант с заранее прописанными размерами проходит. Но нужно тогда с помощью какой-то программы автоматически создать txt файл с именем и габаритами не одной сотни флешек.. С именами проблем нет, но узнать размер в свойствах swf файла вроде-бы нельзя... Во всяком случае этого не видно в свойствах файла в виндовз.

lexa2000lexa 06.03.2009 12:23

как вы загружаете ваши swf ки?

MaskiShow 06.03.2009 13:13

а как нужно? : )

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

Вообще, проблем бы не было, если бы флешки грузились нормально и маскированными (так, как их видно в обычном флеш-плеере), а не с выпирающими объектами по сторонам :/

lexa2000lexa 06.03.2009 13:38

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

nOobCrafter 06.03.2009 14:24

используйте мувиклиплоадер и будет вам щасте.
Цитата:

Вы не поняли что нужно мне и автору темы, а пытаетесь давать советы.
По моему это в ваших интересах что бы публика поняла то вы хотите... Чай тема не о том как ребусы решать.

alexcon314 06.03.2009 15:25

Что нужно автору топика и MaskiShow.
1. Имеем набор (~100) совершенно "левых" swf-файлов. Их Нужно подгрузить в основной swf, согласно некоторому xml-документу. Исходников "левых" флэшек нет и не предполагается, что они хотя бы даже доступны. Кто и как их делает, неизвестно. Но делают, видимо примерно так: создают флэш-документ с размером сцены, ну, скажем, 100х100. Кидают на сцену что-то, однако, что-то кидают и за пределы сцены. Зачем и почему лишние объекты за пределами сцены оставляют - неизвестно. Компилируют, как есть.

2. При подгрузке такого swf в клип-контейнер он (контейнер) получит размер не 100х100, что было бы идеально, а совершенно другой размер, включающий в себя и размеры "околосценных" объектов, загруженный таким образом swf в окне главного будет отображен целиком, вместе с "околосценными" объектами. В итоге, в главном swf все летит к чертям.

3. Накладывать маску на загруженный "кривой" swf можно, но для точной обрезки в размер нет никаких предпосылок, ибо сам размер (тот, что 100х100) неизвестен. Истинный размер замылен "околосценными" объектами. И как верно заметил MaskiShow , нет никакой возможности правильно отцентровать маску, даже если передать размер (100х100) в основной swf через xml.

4. Как это можно побороть?

MovieClipLoader, как и другие способы загрузки, ресайз, скалинг, тут совершенно не причем.
Лично мне, задача в такой постановке видится нерешаемой. Можно посоветовать растолковать клиенту доходчиво и вежливо, что его требования в этой части невыполнимы.

По поводу того, как плеер узнает размеры сцены загружаемого swf и выставляет размер окна в размер именно сцены - вряд ли это чем-то поможет.
Буду рад, если найдутся люди, которые предложат-таки способ решения.


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

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