Q:

Can I use SpriteBatch when drawing sprites on a rotating 3D plane

I'd like to have my plane of sprites rotate similarly as in this game (YouTube Video). So basically, everything is drawn in 2D, but the 2D plane is then "rotated in 3D" (or camera is rotated). When rotated, sprites further away should look like they are further away.
Question:
Can I use SpriteBatch with this? IIRC SpriteBatch uses Orthographic view matrix, so probably not? If I can, how? If not, how would you suggest I draw the sprites?
PS. I am really bad at explaining problems so feel free to ask any questions.

A:

Yes!
Let's have a look at how SpriteBatch works:
SpriteBatch draws sprites onto a 2D plane. So if you had wanted to rotate your sprites so that they come "off" this 2D plane, then you'd probably have to find another solution. But, looking at your video, it looks like you want to rotate the entire 2D plane.
SpriteBatch's normal mode of operation uses a built-in orthographic projection matrix into client space. It also lets you pass in an optional global transformation matrix. You could use this global transformation to get your effect, but you'd also have to "pre-undo" the projection matrix that comes afterwards, and the maths is annoying.
But fear not - SpriteBatch has another mode of operation, where it can use any Effect, using that effect's vertex shader and transformation matrices. BasicEffect will do nicely here. Take a look at this article to get the basic principles.
Simply set BasicEffect.Projection matrix to a suitable perspective projection. And then set BasicEffect.World matrix so that your plane of sprites appears in the correct location (and the right way up!).
Take a look at this article as well. It describes the process in more detail.

