![]() |
Размер загруженой SWF
Уважаемые, может кто подскажет, возможно после загрузки SWF, как то узнать размеры ее рабочего поля?
|
Stage.width
Stage.height Это Вы имели ввиду? |
moviecliploader ,onLoadInit, my_mc._width, my_mc._height F1 help по разделам
|
Ну в принципе да.
Это и есть размеры рабочего поля. Но SWF загружена в какой то клип. Там вот как это определить |
все тоже самое только пишите путь к клипу который хотите "померить" ,например clip_mc загружен в клип my_mc значит путь будет my_mc.clip_mc._height
|
AlexDesinder: Не все так просто
Создаю просто пустую флешку ну к примеру 300х300 Размеры клипа mu_mc._width,,_height покажут те же 300х300 Но попробуйте тупо на сцену флешки кинуть некую картинку, превышающую размеры флешки, и посмотрите, что выдадут вам эти свойства. А у меня задача такая, грузить в клип некие флешки, клип будет обтекаться текстом. Только вот какие туда будут флешки грузить какие вздумается. |
что -то и вправду не понятно, вы опишите все по порядку и подробнее, если хотите чтоб вам помогли, потому что если я кину в мувик картинку любого размера, то свойства этого мувика будут отражать размеры картинки по пикселам в точности.
|
Ну задачу вобщемто практически выше описал.
Вобщем создается панель, на которой потом отображается тескт. Но если в тексте встречаются ссылки на картинки(img) или клипы(swf) то некий клип их в себя грузит, и текст потом выстраивается с учетом обтекания этого клипа. С картинками все просто, а вот с swf - если все что в ней делается, или нарисовано не выходит за пределы ее рабочей области, то все нормально, ну а если что то выходит, то вот проблемы. Клип который swf загрузил, отображает все. |
я что то все равно не очень понимаю, за пределы рабочей области флешки, которая была загружена?
как вариант, делайте маску с нужными размерами |
Да если б я знал эти размеры. проблем бы не было.
Но клиент в XML сегодня одну флешку прописал, завтра другую. Ладно, не парьтесь ребята. Буду думать альтернативные варианты... |
Такая же проблема. Кто-нибудь знает решение? :)
|
ну в чем проблема? загружайте клип смотрите его _width и _height, если они больше каких-то пределов, скалируйте или ставьте маску. Узнать размер stage подгружаемой swf невозможно - его не существует.
|
: (
Размеры клипа не катят - они динамически меняются при проигрывании файла, и даже на первом фрейме обычно не соответсвуют размерам stage (есть объекты, которые находятся за сценой и увеличивают размеры контейнера), о чем уже и говорили. Задать маску по этим данным невозможно. Может есть какие-нибудь другие варианты загрузки swf файла, например чтобы в окне флеш оболочки он отображался как html страница с файлом например? |
так что вам нужно тогда? если главный клип телевизор: сделайте маску по его экрану раз и навсегда одного размера, по маской поместите клип и в него уже грузите мувики для просмотра.
Добавлено через 14 минут Цитата:
|
Вы не поняли что нужно мне и автору темы, а пытаетесь давать советы. Прочитайте тему еще раз с самого начала, пожауйста.
Проигрыватель swf и даже редактор веб-страниц (при copy-paste в него некоторых swf файлов) узнает размер сцены swf файла - думаю, есть способ это сделать и на АС2. Добавлено через 22 минуты ОК, допустим вариант с заранее прописанными размерами проходит. Но нужно тогда с помощью какой-то программы автоматически создать txt файл с именем и габаритами не одной сотни флешек.. С именами проблем нет, но узнать размер в свойствах swf файла вроде-бы нельзя... Во всяком случае этого не видно в свойствах файла в виндовз. |
как вы загружаете ваши swf ки?
|
а как нужно? : )
Вообще только что тут мысль пришла, что даже при известных размерах маски (то есть сцены флешек), правильное позиционирование маски с совпадением со сценой флешки нереализуемо - т.к. относительно габаритов контейнера центрировать маску неправильно - ведь объекты за сцену флешки в контейнере выступают произвольно, потому центр контейнера не есть центр сцены флешки. Думаю, вы поняли о чем я : ) Вообще, проблем бы не было, если бы флешки грузились нормально и маскированными (так, как их видно в обычном флеш-плеере), а не с выпирающими объектами по сторонам :/ |
вам нужно после загрузки определенной флешки, узнавать кокой она велечины, а потом исходя из этого, маштабировать ее.
|
используйте мувиклиплоадер и будет вам щасте.
Цитата:
|
Что нужно автору топика и 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 и выставляет размер окна в размер именно сцены - вряд ли это чем-то поможет. Буду рад, если найдутся люди, которые предложат-таки способ решения. |
Цитата:
|
alexcon314, Вы совершенно правильно все расписали. Одельное Вам спасибо.
По сути вопроса - да, видимо это действительно нерешаемо. Я сам себе "клиент" :), поэтому и ищу способ сделать такой "телевизор" для флешек... Затея с треском проваливается... :D Но опять же, повторюсь, не было бы проблем, если бы контейнер (а точнее, АС2) не рассматривал swf файл как свою собственную часть, а грузил его как обычный интерактивный файл с фиксированными габаритами... В АС3 есть вроде addChildObject, сейчас точно не могу сказать функцию, может это возможно бы помогло (в АС3 опять же)... Добавлено через 1 минуту Вот, iNils подтвердил мое предположение по поводу АС3. Добавлено через 27 часов 26 минут :yahoo: Я сделал это, наступив на грабли, на которые уже наступали)) 1)создаем контейнер с алигном в верхнем левом углу 2)грузим cont.loadMovie(flashPath) 3)флешка загружается так, что верхний левый угол ЕЕ СЦЕНЫ привязан именно к алигну независимо от того, как из нее выпирают все ее объекты 4)зная размеры сцены флешки с помощью загружаемого xml файла, создаем маску с этими размерами и маскируем наш контейнер :D Но может встретится такая флешка, которая сама себя разврнет на весь экран при старте - такой у нее скрипт, хоть и размеры ее сцены небольшие. :drinks: |
| Часовой пояс GMT +4, время: 16:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.