Flash lineStyle: толщина раундов? - PullRequest
0 голосов
/ 24 февраля 2010

Спрайт, который содержит все элементы в моем игровом мире, использует реальный метр в качестве единицы расстояния, он не знает, что такое пиксели. Затем я применяю масштаб к этому спрайту, чтобы он выглядел правильно на экране. В настоящее время я использую 1 метр = 100 пикселей, поэтому масштаб = 100.

Если я попытаюсь нарисовать линию внутри этого спрайта, появится lineStyle(thinkness), округляющая параметр толщины. Если я укажу 0,5 (50 см), он всегда рисуется с 1 пикселем (1 см). Если я укажу 0,6, линия станет толщиной 100 пикселей или 1 метр. Так что в основном я могу рисовать линии только с 1, 100, 200 и т. Д. Пикселей.

Что я могу с этим поделать? В противном случае мне придется использовать меньшую единицу измерения, например, миллиметры, для моего мира.

1 Ответ

0 голосов
/ 26 февраля 2010

Параметр толщины для lineStyle должен быть целым числом в диапазоне от 0 до 255. Это целое число - толщина линии в точках. Так что отправка реальной стоимости просто смущает Flash. Вы должны будете сделать математику самостоятельно, а затем передать lineStyle соответствующее целочисленное значение. При вашем 1 метре = 100 пикселей и точке, разумно приближенной к пикселю, вы хотите умножить значения толщины в метрах на 100, а затем преобразовать в целое число.

...