Ejemplo n.º 1
0
        public void Load(string TexName, Vector2 FrameSize, int MaxFrames, int MsPerFrame)
        {
            this.FrameSize = FrameSize;
            CurrentFrame   = 0;
            this.MaxFrames = MaxFrames;
            //BaseTex = GeneralManager.Content.Load<Texture2D>("Textures/Animations/" + TexName);
            if (GeneralManager.Textures.ContainsKey("Animations/" + TexName))
            {
                BaseTex = GeneralManager.Textures["Animations/" + TexName];
            }
            else
            {
                GeneralManager.LoadTex("Animations/" + TexName);
                BaseTex = GeneralManager.Textures["Animations/" + TexName];
            }
            MilisecondsPerFrame = MsPerFrame;
            Regions             = new List <Rectangle>();

            int SizeX = (BaseTex.Width / (int)FrameSize.X);
            int SizeY = (BaseTex.Height / (int)FrameSize.Y);

            for (int i = 0; i < MaxFrames; i++)
            {
                Regions.Add(new Rectangle((i % SizeX) * (int)FrameSize.X, (i / SizeX) * (int)FrameSize.Y, (int)FrameSize.X, (int)FrameSize.Y));
            }
        }