|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
так, а где тут пересчет матрицы?И почему бы не кешировать это все?
|
|
|||||
Пересчёт матрицы здесь в том, что scaleX это длина базисного вектора i, а scaleY длина базисного вектора j, и её нужно посчитать прежде, чем отдавать.
Не закешировать, а вдруг вы изменили матрицу руками для каких-то целей. Тогда ваши изменения будут отображаться, но не будут доставаться по width/height/scaleX/scaleY.
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
разве эта длина не сидит уже в значениях матрицы a,d?
|
|
|||||
Нет, там сидят компоненты базисных векторов i, j.
Мне кажется, вы не совсем представляете, что такое базисные вектора, поэтому я попытаюсь объяснить. i - это вектор, который говорит, в какую сторону и с каким масштабом смотрит ось OX, по умолчанию это вектор (1, 0), т.е. вправо, с единичным масштабом j - это вектор, который говорит, в какую сторону и с каким масштабом смотрит ось OY, по умолчанию (0, 1), т.е. вниз* с единичным масштабом
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 21.11.2017 в 12:49. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
вся матрица это и есть компоненты базисных векторов, а компоненты a и d - это как раз scaleX и scaleY
Добавлено через 4 минуты Цитата:
|
|
|||||
Ну, м.б. отчасти это может быть и верно, когда вы не поворачиваете объект*. Тогда это действительно будет так Но во всех остальных случаях эти числа будут отличаться от scaleX, scaleY.
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 21.11.2017 в 12:52. |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Я так и начал делать с масштабом, то потом перешёл к пикселям, потому что компоненты разного размера. И если одно "моргание" связано с 20% увеличением размера, то иконка 25х25 увеличится на 5 пикс., а компонент 100х100 - на целых 20. Только из-за этого.
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
|
|
|||||
Цитата:
Добавлено через 10 минут var obj:Sprite = new Sprite(); trace(obj.transform.matrix); obj.rotation = 15; trace(obj.transform.matrix);
__________________
There is no thing in this world that is not simple. |
Часовой пояс GMT +4, время: 12:09. |
|
« Предыдущая тема | Следующая тема » |
|
|