我在as3代码中有一个sprite,我想输入它的高度来调整它,我怎样才能相应地缩放宽度?
sprite.height = 200;
sprite.width = ??
Run Code Online (Sandbox Code Playgroud)
谢谢
如果要缩放精灵,为什么不使用使用缩放方法?
sprite.scaleX = 2;
sprite.scaleY = 2;
Run Code Online (Sandbox Code Playgroud)
否则,您需要应用比率,例如宽度/高度.
假设您的精灵是宽度: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
Run Code Online (Sandbox Code Playgroud)
这也可以使用矩阵变换来完成.
设置宽度/高度时会更新缩放属性,因此您可以使用它们来缩放其他尺寸:
sprite.height = 200;
sprite.scaleX = sprite.scaleY;
Run Code Online (Sandbox Code Playgroud)
比自己跟踪/更新宽高比更容易,更不容易出错.