我在as3代码中有一个sprite,我想输入它的高度来调整它的大小,我如何相应地缩放宽度?
sprite.height = 200;
sprite.width = ??
由于
答案 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;
比自己跟踪/更新宽高比更容易且更不容易出错。