Actionscript 3 如何将对象缩放到特定大小?
我有一个关于缩放对象的问题。我有一个计算一组对象的目标比例的函数。比例取决于对象的数量。同时,我希望对象具有最大比例。我希望对象的宽度不超过55像素。所以我把55除以物体的宽度,得到最大的比例。因此,我提出了以下函数:Actionscript 3 如何将对象缩放到特定大小?,actionscript-3,scale,scaling,Actionscript 3,Scale,Scaling,我有一个关于缩放对象的问题。我有一个计算一组对象的目标比例的函数。比例取决于对象的数量。同时,我希望对象具有最大比例。我希望对象的宽度不超过55像素。所以我把55除以物体的宽度,得到最大的比例。因此,我提出了以下函数: private function setScale():Number { //The 6 is just a random number I chose. scale = 6/amountObjects; if (scale >= 55/averageObj
private function setScale():Number
{
//The 6 is just a random number I chose.
scale = 6/amountObjects;
if (scale >= 55/averageObjectWidth)
{
scale = 55/averageObjectWidth;
}
return scale;
}
我的问题是,当我多次执行此函数时,最终会得到错误的刻度。我将在以下示例中对此进行说明:
我有十个物体,所以比例是0.6。
平均对象宽度为138,因此最大比例约为0.4。
然后我会用这个比例因子来缩放对象。新的宽度将是55。
然后,当对象数量发生变化时,我再次运行此函数。现在有9个对象,基于对象数量的新比例约为0.7。现在是pickle,因为当我执行scale=55/averageObjectWidth
时,新对象的宽度是55。。。我得到1分!这意味着它将跳过if语句并返回0.7的刻度
我所要做的就是让这个类返回一个基于对象数量的标尺,这个标尺的宽度仍然小于55
我希望我说得够清楚了,谢谢你抽出时间。我假设这些物体是精灵,对吗?
在这种情况下,当您设置精灵的比例/宽度/高度时,您正在设置其比例。因此,要获得“真实”的/未缩放的宽度,可以使用sprite.width/sprite.scaleX(或将比例设置回1,但必须再次设置,这可能会导致奇怪的图形故障)55像素/对象,或所有对象的组合?哦,抱歉,每个对象的像素数为55像素。