按as3缩放精灵



我在as3代码中有一个精灵,我想输入它的高度来调整它的大小,我如何相应地缩放宽度?

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

谢谢

如果你想缩放一个精灵,为什么不使用use缩放方法呢?

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

这也可以使用矩阵变换来完成。

缩放属性在设置宽度/高度时更新,因此您可以使用它们缩放其他维度:

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

比自己跟踪/更新纵横比更容易,更不容易出错

最新更新