Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Bitmap пропорции (http://www.flasher.ru/forum/showthread.php?t=212432)

Zebestov 10.02.2016 13:07

Вот это вы прикиньте я все время думал, что w/h берутся относительно локальной системы координат объекта!

undefined 10.02.2016 14:00

Так и есть,при поворотах w/h DO меняться не должны. Я так понял данный баг относится только к Bitmap.

Добавлено через 2 минуты
Либо это как-то связано с тем фактом, что битмап не совсем обычный DO

Zebestov 10.02.2016 14:25

Спецом проверил :) DO туда же! Куда катится мир…

alatar 10.02.2016 16:25

Цитата:

Сообщение от Zebestov (Сообщение 1191714)
Вот это вы прикиньте я все время думал, что w/h берутся относительно локальной системы координат объекта!

В локальной системе координат они никогда и не меняются (буквально). Все эти width, height, rotation, scaleX, scaleY, x, y, etc меняют только матрицу преобразования. За счет этого и достигается высокая скорость работы.
Цитата:

Сообщение от Zebestov (Сообщение 1191719)
Спецом проверил :) DO туда же! Куда катится мир…

Всегда так было и никто иного и не обещал. Об этом прямо написано в документации.

А там уже, кто чего себе придумал, извините...

Добавлено через 3 минуты
Вот как-то делал небольшой обзор.

Zebestov 10.02.2016 16:33

Цитата:

Сообщение от alatar (Сообщение 1191724)
В локальной системе координат они никогда и не меняются.

Не совсем так выразился. Думал, что ширина/высота берутся относительно повернутых вместе с объектом осей. А если уже таки нужно взять ширину и высоту описанного прямоугольника, то для этого и есть getBounds/getRect. Как-то так.

alatar 10.02.2016 16:39

Оси могут поворачиваться независимо, как быть в этом случае? Что вообще считать поворотом?
В общем это добавило бы только проблем и разночтений.

Zebestov 10.02.2016 17:08

Вложений: 1
Никаких разночтений — воспринимать все как если бы DO был обернут в контейнер-прокси, над которым производятся все действия, кроме масштаба по осям.

Наоборот, именно сейчас происходит непоняток. Сам суди:

Вложение 32082

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

И вот теперь скажи мне, это ли не путаница:

1. Задали ширину 200;
2. Получили фактическую ширину ~142
3. Геттер выдает 170.7

Ну т.е. мало того что не получили ромб шириной 200, так мы еще имеем прямоугольник, с шириной не 200 и габаритами не 200.

Что тут понятного — пардон!

P.S.
Предупреждая попытку объяснить, откуда взялись эти числа, сообщаю, что их значения мне понятны — не так сложно проследить эту логику. Именно после этого я снова таки настаиваю, что она извращенная.

alatar 10.02.2016 17:43

Ну, как говорится, все абстракции рано или поздно "текут". Увы, это как раз тот случай, когда надо знать как это работает внутри.

Zebestov 10.02.2016 17:49

Ну т.е. при выборе вариантов, которые так или иначе требуют "понимания", выбрали самый нелепый? Тю!

alatar 10.02.2016 18:42

Не могу с тобой полностью согласиться.
Например, поверни одну из осей, как при этом должен визуально поменяться объект, если ему задать width? а если scale? Что при этом по-твоему должен возвращать width/height?


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

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