Don't make a sprite sheet.
You are going to want to just create a
with each frame of animation inside. It will be much more efficient on video memory usage, as you are only passing each frame of animation when the video card needs it, instead of loading everything in at once when you at most will be displaying one frame at a time.
Save all the animation as a png sequence inside a folder of the same name. (bigBG/bigBG0001,bigBG/bigBG0002.....)
Create a method that all you have to pass is the name of the folder, and have it make a sprite and add it to a
for each file in the folder.
To get how many files are in the folder, use:
int count = Directory.GetFiles("Content/"+path,"*",SearchOption.TopDirectoryOnly).
That line references System.IO so on the top of the file in which you use this add
Create a loop that goes through all the files with the count as the max.
You are going to need to make your method aware of how many spaces for the numbers there are and pass that and the increment number of the loop to a method like this.
internal static string fillZeroes(int num, int spaces)
string str = num.ToString();
for (int i = str.Count(); i < spaces; i++)
str = "0" + str;
Then you can use:
texture = rr.g.Content.Load<Texture2D>(path + name+ num);
Add it to your List and the loop restarts, after the loop is done, you are going to want to return the finished list.
You can can now draw any frame of the animation by using:
Texture2D texture = spriteListMenu[frameNumber];
and pass that texture to your spritebatch.draw