0

非常に悩ましい問題を抱えています...

私はピクセル ベースのアートを使用するゲームを持っているので、使用されるテクスチャは 8x8 で、128x128 または必要に応じて拡大されます。

これを行うには、私がする必要があるのは言うだけですtexture.filteringMode = SKTextureFilteringNearest

これで、テクスチャ アトラスを除いて、ほぼすべての機能が使用できるようになりました。テクスチャ アトラスからテクスチャをプルすると、テクスチャがフィルタリング モードの切り替えを拒否します。注意すべきことの 1 つは、テクスチャ アトラスをセットアップする標準プロセスからは機能するように見えることですが、テクスチャ アトラスがシングルトンの場合は機能しません。

通常は、設定が間違っていると思いますが、この問題は SpriteKit にあると思います。理由は次のとおりです。

1) バグは最近まで発生しておらず、何も変更していませんでした

2) このバグは iOS 7 でのみ発生し、7.1 または 8+ では発生しません。

3) 問題は、フィルタリング モードが間違っているということではありません。フィルタリング モードが最も近い 0 に設定されています (テストし、すべてのフレームをログに記録し、モードは正しかったのですが、視覚的には正しくありませんでした)。

そのため、レンダリングのバグです。しかし、それは意味がありません。特に、少しうまくいったように見える場合はなおさらです。他に何か意見はありますか?私は何かに感謝します、私もいくつかのことを試してみます。ありがとう!

注-コードはそのままでios7.1+で問題なく機能することを強調したいので、コードは何らかの形で機能します...しかし、ある時点で機能したため、7.1固有の機能でもありません。

4

1 に答える 1

0

神様、私はそれを解決しました。これで誰かの時間を無駄にしてしまったらごめんなさい。

しかし、これは本当に私が今まで見た中で最も愚かなことです。それを私が直した。しかし、これはどのように修正されますか。

コードを置き換えました:

self.texture.filteringMode = SKTextureFilteringNearest;

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

新しい質問みんな。なぜ世界でそれが何かを修正するのでしょうか? 真剣にそれを試みることさえ痛いです。これが私が対処しようとしている種類の悪ふざけである場合、私はプログラマーになることはできないと思います.

事前に申し訳ありません、ええと... 口語。ここでの対話は、私が収集したものからすると、単調で乾いているはずです。

編集:わかりました、少し落ち着いてきました。解決策は、初期化後のどこかで、テクスチャを叫び、テクスチャ モードを最初に線形に設定し、次に最も近くに設定することです。これを行う必要がある場所を正確に把握しようとしています (現在、コードを update ステートメントに詰め込んだため、常に実行されますが、コード内でいつ指定する必要があるかが正確にわかったら、これを更新します。正しいフィルター。

于 2014-10-06T05:09:25.510 に答える