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

C# 当我使用平移矩阵放大时,为什么有些精灵会停止渲染?,c#,xna,monogame,C#,Xna,Monogame,我正在使用Monogame构建一个游戏,我的相机工作了很长一段时间,我最近将所有精灵从64*64更改为32*32,我在相机缩放和绘制精灵(查看GIF)方面遇到问题,我正在使用Spritebatch中的深度属性来订购我的精灵 绘制方法: GIF: 有人有什么想法吗?如果将来有人看到这篇文章,我会找到解决办法: 创建用于缩放视图的平移矩阵时,请使用: Matrix.CreateScale(scale, scale, 1) 而不是: Matrix.CreateScale(scale) 为了使Z索

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

绘制方法: GIF:


有人有什么想法吗?

如果将来有人看到这篇文章,我会找到解决办法:

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

Matrix.CreateScale(scale, scale, 1)
而不是:

Matrix.CreateScale(scale)

为了使Z索引不影响缩放

,在
player.Draw方法中查看代码可能会很有用。当你说你在“使用深度属性”时,它到底是什么样子的?我所有的绘制方法都与播放器类似,播放器如下:
spriteBatch.draw(纹理,新矩形((int)position.X,(int)position.Y,(int)dimensions.X,(int)dimensions.Y),null,Color.White,0f,new Vector2(0,0),SpriteEffects.None,0.5f)我不认为这与深度属性有关,因为当我足够缩小时,它会工作
Matrix.CreateScale(scale)