Вопрос

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

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top