Проблема масштабирования спрайта - PullRequest
1 голос
/ 22 ноября 2011

Я получил CCSprite.

Я масштабирую его до 1,89, и, похоже, мне нужно немного больше, чтобы получить желаемый результат.Поэтому я масштабирую его до 1,9 (на 0,01 больше, чем раньше).Почему теперь спрайт намного больше сейчас?

На самом деле, я попытался добавить некоторую точность (я делаю это как 1,895 или что-то еще, но разница минимальна или даженесуществующий).

1 Ответ

1 голос
/ 23 ноября 2011

Чтобы избежать каких-либо внешних воздействий, вы должны запустить тест с новым проектом с двумя изображениями бок о бок, используя немного разные масштабные коэффициенты.

Вы также должны знать, что в конечном итоге пиксели текстуры спрайта должны быть сопоставлены спиксели экрана, которые могут привести к снижению точности масштабирования.Если у вас есть текстура размером 10x10 пикселей, она будет занимать 10x10 пикселей на экране с масштабным коэффициентом 1.0.Эта текстура увеличится только до 11x11 пикселей, если вы используете масштабный коэффициент 1,05 или выше.Вероятно, что размер текстуры на экране остается неизменным с масштабными коэффициентами в диапазоне от 0,95 до 1,04.

В зависимости от алгоритма округления и субпиксельного рендеринга конечный результат может немного отличаться.Но это объясняет основной принцип, что в конечном итоге вы не можете масштабировать текстуру с бесконечной точностью, потому что в конечном итоге один пиксель либо отображает пиксель текстуры (тексель), либо нет.

Отключение субпиксельного рендеринга в ccConfig.h может привести к лучшим результатам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...