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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.09.2010, 12:28
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 1  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
По умолчанию Тонкости FlashPlayer или баг размеров?

Имеем код:
Код AS3:
//========constructor====
var s:Sprite = new Sprite();
s.graphics.beginFill(0);
s.graphics.drawCircle(200, 200, 200);
 
super.addChild(s);
trace(super.getBounds(this), super.transform.pixelBounds);
Имеем размеры stage: 800 (stageWidth) и 1200 (stageHeight).

Что же выдает нам трейс:
(x=0, y=0, w=400, h=400) (x=70, y=0, w=330, h=330)

Визуально размер круга соответствует второму Rectangle. Отступ в 70 пикселей также имеется. Погрешность начинается от 993 пикселей в высоту.
Изменение stageWidth также вызывает погрешность, только размер для появления погрешности больше.

Это как понимать? И проявляется ли подобное еще у кого-то ?

Старый 20.09.2010, 13:25
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
stage.scaleMode = StageScaleMode.NO_SCALE ничего не меняет?
__________________
Поймай яблоко 2!

Старый 20.09.2010, 13:53
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 3  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
меняет...
(x=0, y=0, w=400, h=400) (x=0, y=-105, w=400, h=400)
При этом stageHeight превращается в 990. Хотя до NO_SCALE отдавала честные 1200.
А круг уползает вверх. Полагаю, на эти самые 105 пикселей.

Старый 20.09.2010, 14:02
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
у тебя разрешение 1440х990?

Добавлено через 2 минуты
и флэшка выравнивается к тому же посередине (по вертикали)? сам посчитаешь?
__________________
Поймай яблоко 2!

Старый 20.09.2010, 14:16
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 5  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
Цитата:
Сообщение от Zebestov Посмотреть сообщение
у тебя разрешение 1440х990?
1280x1024

Цитата:
Сообщение от Zebestov Посмотреть сообщение
и флэшка выравнивается к тому же посередине (по вертикали)?
если посередине экрана монитора (по высоте), то нет.

Цитата:
Сообщение от Zebestov Посмотреть сообщение
сам посчитаешь?
судя по всему, считать уже не надо?

UPD: да, очевидно, флэшка в этом случае все же привязана к экрану. По крайней мере:
1) Изменение высоты в пределах "зоны погрешности" не уменьшает ноу_скельную высоту. Но тут удивляет почему погрешность начинается с 993-х, а высота упирается в 990.
2) Убирание/восстановление виндовой нижней панели изменяет stageHeight. При чем изменяет в два этапа (если два раза и более убирать/восстанавливать панель). Первое значение - 972, второе - 948. И, собственно, Rectangle скачет соответственно.

Итого, хотелось бы понять зачем FlashPlayer привязывается к размерам экрана монитора (при чем весьма странно привязывается)? Может в этом и есть свой плюс. Но пока я вижу один большой минус.


Последний раз редактировалось switcher!; 20.09.2010 в 14:31.
Старый 20.09.2010, 14:22
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
ну смотри какая магия чисел выходит:

stageHeight стал 990 — это потому что ты свою флэху, которая хочет быть 1200 по высоте как-то втулил в 990 по высоте и при этом NO_SCALE. тут все понятно — ищи почему у тебя высота урезается до 990.

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

а уже почему вся эта логика имеет место быть — разбирайся по месту.
__________________
Поймай яблоко 2!

Старый 20.09.2010, 14:41
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 7  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
насчет половинных значений - тоже приметил. Но это точно никак не связано с расположением самой флэхи.

Цитата:
флэшка выступает в равной мере как снизу так и сверху
Если ты про рабочую область самого FlashPlayer, то да. Вопрос в том, почему она выступает?
Если ты про окно самого плеера, то нет. Он "залазит" только вниз, а до верха экрана не достает прилично.

Цитата:
а уже почему вся эта логика имеет место быть — разбирайся по месту.
а в чем разбираться ? Это проявляется, если в в пустой документ-класс вставить вышенаписанные строчки и установить соответствующие размеры stage (видимо, для каждого разрешения свои размеры - писал выше).
Сорсы FlashPlayer и Windows искать? )))

Старый 20.09.2010, 15:12
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 8  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
все это интересно конечно, но ты пробовал сделать самое очевидное — вставить эту флэшку в HTML документ, который заботливо предоставляет твоему мувику его желанные 1200px по высоте? или ты это не для сайта делаешь (такое себе десктоп апп с высотой 1200px)
__________________
Поймай яблоко 2!

Старый 20.09.2010, 16:15
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 9  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
в браузере-то все ок. Однако, это же не дело, что в standalone своя разметка, в плагине - своя.
Имо, это кочка на ровном месте. Потому что надо вытаскивать из Capabilities тип плеера, и если плагин - то все остается как было, а если стэндэлоун - крутись как хочешь. Еще и не известно доподлинно: что от чего пляшет. Понятно, что от экранного разрешения и, видимо, системных панелей. Но это все на уровне дурдома.

Старый 20.09.2010, 16:22
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 10  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от switcher! Посмотреть сообщение
в браузере-то все ок. Однако, это же не дело, что в standalone своя разметка, в плагине - своя.
Имо, это кочка на ровном месте. Потому что надо вытаскивать из Capabilities тип плеера, и если плагин - то все остается как было, а если стэндэлоун - крутись как хочешь. Еще и не известно доподлинно: что от чего пляшет. Понятно, что от экранного разрешения и, видимо, системных панелей. Но это все на уровне дурдома.
не годится свою неспособность организовать рабочее пространство внутри FP при произвольном разрешении иносказательно перекидывать на головы разработчиков они предоставили достаточно средств для позиционирования экранных объектов в любых условиях.
__________________
Поймай яблоко 2!

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

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

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


 


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


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