andengine を使用して Android で 16 ビット スタイルの RPG を作成しようとしていますが、大きなハードルに直面しています。これは、テキストとスプライトの問題です。私の問題があるフォーラムへのリンクは次のとおりです。テキストとスプライトの両方のテクスチャ オプションとして Nearest を使用しています。スプライトはテクスチャ パッカー経由でアクセスされ、テキストは以下のようなコードを使用して作成されます
final ITexture mFontInfoTexture = new BitmapTextureAtlas(pContext.getTextureManager(), 256, 256, TextureOptions.NEAREST);
mFontInfo = FontFactory.createFromAsset(pContext.getFontManager(), mFontInfoTexture, pContext.getAssets() , "LongPixelFont.ttf", 18.0f, false, Color.BLACK);
mFontInfo.load();
スプライトを別の方法でスケーリングし、テクスチャ オプションを Linear に変更し、スプライトの位置をシフトしようとしましたが、実際には何も機能しません。どんな洞察も大歓迎です。
更新 1:
これは、アプリの解像度を定義するために使用するコードです。
// Initializes the Engine and sets the height and width.
MainActivity.mMainCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
//Sets the engine options
EngineOptions engineOptions = new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), MainActivity.mMainCamera);
//Forces the screen to go into landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
更新 2:
変形はスケーリング(スプライトの場合)によって引き起こされているようです。int でスケーリングするときは変形に気付きませんでしたが、分数でスケーリングすると変形がありました。奇数の小数 (つまり 2.5) でスケーリングすると、変形がより顕著になりました。また、ピクセルが変形して見える範囲があるようです。私の場合、2x 未満のものは変形して見えますが、2 より大きい int は問題なく見えます。