2014-10-06 2 views
0

Я имею очень раздражает вопрос ...Невозможно фильтровать текстуры из текстуры атласы в SpriteKit

У меня есть игра с пиксельной на основе искусства, поэтому текстуры используются 8x8 и затем масштабируется до 128х128 или любой другой необходим.

Чтобы сделать это, все, что мне нужно сделать, это сказать texture.filteringMode = SKTextureFilteringNearest

Теперь, когда работает почти everything- для текстурных атласов кроме. Вытягивание текстуры из атласа текстуры заставляет текстуру отказаться от переключения режимов фильтрации. Следует отметить, что это похоже на стандартный процесс настройки атласа текстуры, но он не работает, когда мой атлас текстуры является одноэлементным.

Теперь, как правило, я просто считаю, что я неправильно настроен, но я думаю, что эта проблема находится на SpriteKit. Вот почему:

1) Исправлена ​​ошибка, не произошла до недавнего времени, и я ничего

2) ошибка происходит только в прошивке 7- не изменился не в 7,1 или 8+

3) Проблема заключается не в том, что режим фильтрации неверен - режим фильтрации установлен на 0, что является ближайшим (я тестировал его, регистрировал каждый кадр, и режим был прав, но он был визуально неправильным)

Таким образом, его ошибка рендеринга. Но это не имеет смысла, особенно когда это, похоже, работает немного. У кого-нибудь еще есть какой-то вклад? Я ценю что-нибудь, я тоже попробую еще пару вещей. Благодаря!

Примечание. Я хочу подчеркнуть, что код as-is отлично работает в ios7.1 +, поэтому код работает в той или иной форме ... но он также не является уникальной особенностью 7.1, поскольку он работал для меня в одной точке.

ответ

0

О, боже, ребята, я решил это, извините, если я потратил время на это.

Но это действительно самая тупая вещь, которую я когда-либо видел. Я починил это. НО КАК ЭТО ИСКЛЮЧАЕТ ЭТО.

Я заменил код:

self.texture.filteringMode = SKTextureFilteringNearest; 

с

self.texture.filteringMode = SKTextureFilteringLinear; 
self.texture.filteringMode = SKTextureFilteringNearest; 

НОВЫЙ ВОПРОС парням. Почему в мире было бы это EVER исправить что-то? Больно, что я бы даже попробовал что, серьезно. Я не думаю, что могу быть программистом, если это то, с чем я столкнулся.

Извините заранее за любой, um ... разговорный язык. Диалог здесь должен быть монотонным и сухим из того, что я собираю.

Редактирование: Хорошо, я немного успокоился - решение заключается в том, что где-то после инициализации кричите текстуру, чтобы установить режим текстуры в первую линейную, а затем ближайшую. Я пытаюсь выяснить, где именно это нужно сделать (прямо сейчас я перепутал код в мой оператор обновления, поэтому он работает постоянно, но я обновлю это, когда я точно знаю, когда в коде вам нужно указать правильный фильтр.