XNA-全局缩放

| 我试图使用鼠标滚动进行缩放,并将缩放值传递到每个可绘制对象中。每个可绘制对象都采用zoom值,并使用SpriteBatch.Draw方法的scale参数。尽管缩放每个单独的项目对所有其他对象都无效。是否可以将所有内容绘制到某种画布上,然后进行缩放以使所有内容适当缩放?     
已邀请:
        使用带有
Matrix
参数的
SpriteBatch.Begin
方法。传递比例矩阵:
Matrix scaleMatrix = Matrix.CreateScale(myScale);
sb.Begin(SpriteSortMode.Deferred, null, null, null, null, null, scaleMatrix);
您应该对精灵的所有\“ global \”转换使用此参数。因此,您可以结合(乘以)平移和比例矩阵来移动和缩放2D场景。     
        在相机中,您必须重新创建视图,将视野更改为较小的值:
Matrix.CreatePerspectiveFieldOfView(
    MathHelper.PiOver4,                    // change this to, say 20°
    aspectRatio,
    0.0001f,
    1000.0f,
    out projection
);
现在,此更改已成为全局更改,因为您在效果中使用了相机的投影     

要回复问题请先登录注册