Масштабировать спрайт в as3? - PullRequest
0 голосов
/ 24 октября 2011

У меня есть спрайт в коде as3, я хочу ввести его высоту, чтобы изменить его размер, как я могу соответственно масштабировать ширину?

sprite.height = 200;
sprite.width = ??

Спасибо

Ответы [ 2 ]

9 голосов
/ 24 октября 2011

Если вы хотите масштабировать спрайт, почему бы не использовать методы масштабирования?

sprite.scaleX = 2;
sprite.scaleY = 2;

В противном случае вам нужно будет применить соотношение, например, ширина / высота.

Скажитеу вашего спрайта была ширина: 150, высота: 100. Это означает, что ширина в 1,5 раза больше высоты.

// calculate ratio of scale factor
var ratio:Number = sprite.width / sprite.height; // 1.5

// apply ratio your sprite's original dimensions:
sprite.height = 200;
sprite.width = sprite.height * ratio; // 300

Это также может быть достигнуто с помощью преобразования Matrix.

6 голосов
/ 06 января 2012

Свойства масштаба обновляются при установке ширины / высоты, поэтому вы можете использовать их для масштабирования другого измерения:

sprite.height = 200;
sprite.scaleX = sprite.scaleY;

Проще и менее подвержено ошибкам, чем отслеживание / обновление соотношения сторон на вашемвладеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...