Как я могу исправить эту потенциальную ошибку с компонентом RadioButton?

У меня странная проблема с RadioButton(fl.controls), когда я добавляю его на сцену.

Вот быстрый способ воспроизвести проблему:

  1. создать пустой мувиклип
  2. добавить компонент RadioButton
  3. установите ширину компонента на значение меньше 100
  4. проследить ширину контейнера

Ширина контейнера будет составлять 100, даже если экземпляр RadioButton на сцене меньше 100 в ширину.

Если я добавляю компонент из кода, он работает, если я сначала аннулирую этап после добавления RadioButton, а затем проверяю ширину контейнера в обработчике Event.RENDER.

Есть ли исправление этой ошибки измерения при добавлении RadioButton вручную в IDE/Authoring?

1 ответ

Решение

Это связано с тем, что Flash использует масштабный коэффициент для изменения размеров объектов во время выполнения, а не с использованием мер ширины и высоты.

Поэтому, если вы загружаете RadioButton и уменьшаете его размер, вы фактически масштабируете, скажем, 0,89 от исходного размера.

Когда вы запускаете приложение, ваш RadioButton по-прежнему имеет ширину 100 пикселей, но его размер уменьшается до 0,89 от оригинала.

Если вы проследите scaleX а также scaleY свойства измененного и неизмененного RadioButton, вы поймете, что я имею в виду.

Проверьте эту документацию для получения дополнительной информации:

http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7df3.html

Другие вопросы по тегам