在XNA 4.0中一起使用PrimitiveBatch和SpriteBatch

时间:2013-04-09 12:14:20

标签: xna spritebatch

一直在环顾四周,找不到任何有这个问题的人,谁得到了答案,所以我在这里发帖!

是否有使用2D相机在xna中一起使用primitiveBatch和spriteBatch?有没有办法在primitiveBatch上对spriteBatch应用那个投影?

1 个答案:

答案 0 :(得分:1)

2d相机只是一个矩阵,幸运的是,spritbatch的Begin方法有一个2d变换参数。

public void Begin (
     SpriteSortMode sortMode,
     BlendState blendState,
     SamplerState samplerState,
     DepthStencilState depthStencilState,
     RasterizerState rasterizerState,
     Effect effect,
     Matrix transformMatrix
)

在底部看,最后一个参数。

这意味着在spritebatch的this方法和end方法之间的所有后续绘制调用都将应用此变换矩阵。

如果我们想要进一步抽象绘图,我们可以创建我们自己的相机类,它将包含一个属性,可能会返回相机当前状态的正确矩阵。

快速谷歌搜索给了我这个教程,它似乎很好地展示了如何抽象矩阵的使用,而只是使用位置,比例和旋转。 http://adambruenderman.wordpress.com/2011/04/05/create-a-2d-camera-in-xna-gs-4-0/

了解更多信息 http://msdn.microsoft.com/en-us/library/ff433701.aspx

相关问题