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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.09.2012, 22:58
Black Soviet вне форума Посмотреть профиль Отправить личное сообщение для Black Soviet Найти все сообщения от Black Soviet
  № 1  
Ответить с цитированием
Black Soviet
 
Аватар для Black Soviet

Регистрация: Nov 2011
Сообщений: 41
Question Головная боль при масштабе

Товарищи, ситуация следующая.
Есть объект типа Sprite, он растягивается по вертикали либо с помощью scaleY, либо с помощью установки его height на нужную величину. И при этом всё летит к чертям. Все объекты впоследствии расположенные на этом Sprite автоматом растягиваются на тот же коэффициент растяжения. Возможно ли отключить эту назойливую опцию?

Но что вносит особую порцию гнева так это то, что все локальные координаты мыши mouseX и mouseY (например при MouseEvent.CLICK) при этом видать не "растягиваются", а остаются в изначальных состояниях и для того чтобы работать с ними помогает только умножение на громоздкий, некрасивый и неточный коэффициент растяжения. Чувствую меня ждёт еще много сюрпризов от масштабирования.

Подскажите кто как справляется с объектами после их масштабирования? Может есть какие-то рычаги или приёмы, чтобы растянутый объект зафиксировался во всех своих свойствах?
Миниатюры
Нажмите на изображение для увеличения
Название: 12224.JPG
Просмотров: 57
Размер:	15.6 Кб
ID:	28418  


Последний раз редактировалось Black Soviet; 05.09.2012 в 23:35.
Старый 05.09.2012, 23:02
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
scaleY = 1.0 ?

Старый 05.09.2012, 23:17
Black Soviet вне форума Посмотреть профиль Отправить личное сообщение для Black Soviet Найти все сообщения от Black Soviet
  № 3  
Ответить с цитированием
Black Soviet
 
Аватар для Black Soviet

Регистрация: Nov 2011
Сообщений: 41
i.o.

Визуально спрайт должен остаться растянутым.

Старый 05.09.2012, 23:28
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 4  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Ну если растянут родитель, растянуты будут и потомки, это в общем-то разумно.
Если не хотите такого поведения-у детей применяйте обратный коэффициент растяжения к детям.
А MouseEvent вроде как тоже логичен, во всяком случает альтернатива точно была бы хуже.

Старый 05.09.2012, 23:40
Black Soviet вне форума Посмотреть профиль Отправить личное сообщение для Black Soviet Найти все сообщения от Black Soviet
  № 5  
Ответить с цитированием
Black Soviet
 
Аватар для Black Soviet

Регистрация: Nov 2011
Сообщений: 41
Krusty
С потомками которые были добавлены до растяжения согласен. Но я не думал что режим растяжения оперативно принимает в свои ряды и всех кто добавляется после.

А вот по поводу логичности MouseEvent смотрите картинку вверху.

Старый 06.09.2012, 00:32
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 6  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Да вроде как разумно, это же стандартное наследование свойств, растяжение, прозрачность, etc, оно везде так, не только в продукции Адоба.
А что касается графика-просто представьте, что у вас есть координатная сетка. Так вот, она не изменилась при растяжении, и клик-считается в этой сетке, а не в растянутой. И удобно потомков аппендить.
Хотя я с вами согласен, оно довольно непоследовательное, но альтернатива была бы еще хуже.

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

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
А для чего растягивать контейнер и при этом не желать растягивать чайлдов? Если этот спрайт выполняет роль некоего фона - то сделайте его подложкой. Положите под все остальные спрайты и растягивайте отдельно. Если при этом надо, не меняя размеров чайлдов, изменить их координаты так, чтобы относительные их положения сохранялись, то тут их руками надо пересчитывать - но это пустяковое дело.

Старый 06.09.2012, 03:45
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 8  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
можете использовать свойство concatenatedMatrix для компенсации искажений.
Одно но -- искажения рабочей области, которые появляются при stageScaleMode != StageScaleMode.NO_SCALE также учитываются в ней.

А вообще, если мне нужно, чтобы при изменении размеров контейнера не менялся размер контента, я пишу свой компонент.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

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

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

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


 


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


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