У меня вопрос о масштабировании объектов. У меня есть функция, которая вычисляет целевой масштаб группы объектов. Масштаб зависит от количества объектов. В то же время я хочу, чтобы объекты имели максимальный масштаб. Я хочу, чтобы объекты имели ширину не более 55 пикселей. Поэтому я разделяю 55 по ширине объекта, чтобы получить максимальный масштаб. Поэтому я придумал следующую функцию:Как масштабировать объекты до определенного размера?
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. Вот сейчас рассол, так как новая ширина объекта составляет 55, когда я делаю scale = 55/averageObjectWidth
... Я получаю 1! Это означает, что он пропустит оператор if и вернет мне шкалу 0,7.
Все, что я хочу сделать, это вернуть этот класс мне шкалу, основанную на количестве объектов, что все еще находится под шириной 55
Я надеюсь, что я достаточно ясно, и спасибо за ваше время.
55 пикселей на объект или для всех объединенных объектов? –
О, извините, это 55 пикселей на объект. – Banzboy