在as3中缩放精灵?

时间:2011-10-24 14:11:17

标签: actionscript-3

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

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

由于

2 个答案:

答案 0 :(得分:9)

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

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

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

答案 1 :(得分:6)

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

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

比自己跟踪/更新宽高比更容易且更不容易出错。