Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.10.2010, 23:13
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 11  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от alatar Посмотреть сообщение
Вообще-то для этого существуют stage.stageWidth и stage.stageHeight, а то что вы дергаете это свойства DisplayObject, наследником коего является stage и ведут они себя соответсвующе.
У меня размер флешки - 550x384 точек.

При этом:

stage.stageWidth=632
stage.stageHeight=440

С какого перепугу так?
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Старый 06.10.2010, 01:22
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 12  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
С какого перепугу так?
это размер контейнера на странице, если проигрываете в браузере или реальные размеры окна, если в плеере. Те размеры, что выставили в настройках ни на что не влияют.

Старый 06.10.2010, 14:00
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 13  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от alatar Посмотреть сообщение
это размер контейнера на странице, если проигрываете в браузере или реальные размеры окна, если в плеере. Те размеры, что выставили в настройках ни на что не влияют.
Это явно не реальные размеры окна в плеере. Запускаю в плеере, делаю снимок экрана, замеряю размер - он тот же, что и был указан при компиляции ролика - 550x384 точек. При этом stage.stageWidth=632 и stage.stageHeight=440.

В общем, тут никто не знает, как правильно узнать размер. Как-то это грустно.
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Старый 06.10.2010, 14:47
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 14  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Это явно не реальные размеры окна в плеере.
Загляните в документацию, если не верите мне.

Понятия не имею как вы меряете, но судя по-всему, вы можете только огрызаться на тех, кто пытается вам помочь. Как-то это грустно.

Старый 06.10.2010, 19:48
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 15  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от alatar Посмотреть сообщение
Загляните в документацию, если не верите мне.
Конечно, я прочитал документацию. И не увидел в ней, что stage.stageWidth и stage.stageHeight должны соответствовать размеру ролика.

То, что stage.stageWidth и stage.stageHeight соответсвуют размеру сцены, отвечающего за stage - это верно. Но нигде не написано, что размер stage-сцены должен соответствовать размеру ролика. И этот размер, как показывает практика, действительно не соответсвует.


Цитата:
Сообщение от alatar Посмотреть сообщение
Понятия не имею как вы меряете,
Я мерию в пикселях.


Цитата:
Сообщение от alatar Посмотреть сообщение
но судя по-всему, вы можете только огрызаться на тех, кто пытается вам помочь. Как-то это грустно.
Просто меня удивляет, почему на такой элементарный вопрос топика, даже на второй странице обсуждения нет ответа. Никто не знает? На форуме нет специалистов? Специалисты не видят разницы в 80 пикселей? Специалисты считают 20% погрешность определения размеров нормой?

Конечно, я уже давно плюнул на определение размеров и захардкорил их в коде. Просто мне хотелось сделать универсальный загрузчик, который правильно работает с любым подгружаемым мувиком. А вместо этого в коде добавилось очередное упражнение на внимательность.
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru


Последний раз редактировалось xintrea; 06.10.2010 в 19:50.
Старый 06.10.2010, 20:46
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 16  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Но нигде не написано, что размер stage-сцены должен соответствовать размеру ролика.
Это нигде и не утверждалось.

Дабы получить конкретный ответ, надо задать конкретный вопрос. Что вы пытаетесь получить, я так до конца и не понял. Я вам уже дал два ответа, как мне казалось на все случаи жизни (из определения размеров). Повторюсь, если вам нужны размеры сцены, то stageWidth, stageHeight вам в руки. Если вам нужны размеры ролика заданные при компиляции (хотя ценность этой информации нулевая), то их можно получить у LoaderInfo.
Это все можно было узнать, еще на первой странице обсуждения.
Код AS3:
package
{
    import flash.display.Graphics;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.MouseEvent;
 
    [SWF(width="524", height="600")]
 
    public class ASTests extends Sprite
    {
        public function ASTests()
        {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
 
            var sprite:Sprite = new Sprite();
 
            var gr:Graphics = sprite.graphics;
 
            gr.beginFill(0x00FF00);
            gr.drawRect(0,0,100,100);
            gr.endFill();
 
            addChild(sprite);
 
            sprite.addEventListener(MouseEvent.CLICK, getSize);
 
            trace("stage: ",stage.stageWidth, stage.stageHeight);
 
            this.loaderInfo.addEventListener(Event.COMPLETE, initHandler);
        }
 
        private function initHandler(event:Event):void
        {
            trace("info: ",this.loaderInfo.width, this.loaderInfo.height);
        }
 
        private function getSize(event:MouseEvent):void
        {
            trace("stage: ",stage.stageWidth, stage.stageHeight);
            trace("info: ",this.loaderInfo.width, this.loaderInfo.height);
        }
    }
}

Старый 06.10.2010, 23:14
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 17  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от alatar Посмотреть сообщение
Если вам нужны размеры ролика заданные при компиляции (хотя ценность этой информации нулевая), то их можно получить у LoaderInfo.
Вопрос. Почему именно LoaderInfo нужно использовать? Ведь прелоадер и код ролика собраны в один SWF файл.

Напишу другими словами.

Фактически, в моем случае в Main-классе прописано:

Код:
[SWF(width="550", height="384")]
Вот эти цифири и нужно узнать.

Представьте, что прелоадера вообще нет. Как можно узнать эти цифры? Только через свойство loaderInfo экземпляра основного класса SWF-файла? Или есть более правильный путь - обращение к какому-то объекту, выдающему данные о SWF-файле?

Ведь кроме ширины и высоты, в ролик через mxmlc можно интегрировать следующие параметры:

Код:
-default-size <ширина> <высота>
-creator <name>
-date <text>
-description <text>
-title <text>
...
Как до них достучаться? Например, до title? LoaderInfo такой возможности не предоставляет.
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Старый 07.10.2010, 00:55
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 18  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Как можно узнать эти цифры?
Запустить приведенный код религия не позволяет?
Цитата:
Или есть более правильный путь - обращение к какому-то объекту, выдающему данные о SWF-файле?
LoaderInfo и есть этот объект. Чем же он вам показался неправильным?
Цитата:
-default-size <ширина> <высота>
Код:
[SWF(width="550", height="384")]
Это идентичные записи.

Старый 07.10.2010, 01:04
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 19  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
О, да. Прелоадер и "код ролика" собраны в одном классе. Уважаемый xintrea, перестаньте наших флешеров троллировать. Вам же ясно сказали, RTFM.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 07.10.2010, 01:38
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 20  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от alatar Посмотреть сообщение
LoaderInfo и есть этот объект. Чем же он вам показался неправильным?
Тем, что отдает не всю информацию. Возможно, есть какой-то другой объект, который вытаскивает информацию из основных информационных полей SWF. Я же написал, что недоступно:

-creator <name>
-date <text>
-description <text>
-title <text>

То есть, складывается впечатление, что объект LoaderInfo не напрямую работает с абсолютными значениями данных, записанных в инфополях SWF, а берет коственные значения, назначаемые главной сцене в результате цепочки преобразований. Как преобразования могут повлять на результат мы уже увидели.

Добавлено через 2 минуты
Цитата:
Сообщение от dimarik Посмотреть сообщение
О, да. Прелоадер и "код ролика" собраны в одном классе. Уважаемый xintrea, перестаньте наших флешеров троллировать. Вам же ясно сказали, RTFM.
Уважаемый dimarik, читайте форум внимательно. Я написал, что "прелоадер и код ролика собраны в один SWF файл". Это, согласитесь, несколько отличается от того что процитировали вы.
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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