当我使用平移矩阵放大时,为什么有些精灵会停止渲染?

Why do some sprites stop rendering when I zoom in using a translation matrix?

我正在使用 Monogame 构建游戏并且我的相机工作了很长时间,我最近将我所有的精灵从 64*64 更改为 32*32 但我在相机缩放和绘制精灵(查看 GIF),我在 Spritebatch 中使用深度 属性 来订购我的精灵。

绘制方法:

_spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend,
        SamplerState.PointClamp, null, null, null, camera.TranslationMatrix);

        tileMap.Draw(_spriteBatch);
        sceneObjectHandler.Draw(_spriteBatch);
        player.Draw(_spriteBatch);
_spriteBatch.End();

GIF:

有人有什么想法吗?

如果以后有人遇到这个 post 我找到了解决方案:

创建用于缩放视图的平移矩阵时使用:

Matrix.CreateScale(scale, scale, 1)

而不是:

Matrix.CreateScale(scale)

使Z-index不影响缩放