Originariamente inviato da U235
Ciao,
quello che non mi è chiaro è come stai gestendo la cosa... va bene utilizzare un loop per gestire il paint della scena (almeno ricordo così) perchè il metodo OnPaint non è abbastanza performante (perlomeno anni fa...), ma quello che non capisco è perchè usi "Console.WriteLine"??? qual'è il tuo metodo di render? dove stai disegnando?

visto così non capisco , prova a postare il codice completo.
Console.Writeline mi serviva a sapere solo ogni quanto il tempo scadesse per cambiare frame.
Comunque, io cambio solo la sequenza dell'immagine selezionata, per visualizzare lo sprite uso questa funzione:

codice:
        private void _drawSprites()
        {
  // Draw animated sprites
            if (GSObjects[selectedSCENE].SpriteAnimatedList.Count > 0)
            {
                for (int i = 0; i < GSObjects[selectedSCENE].SpriteAnimatedList.Count; i++)
                {
                    GSObjects[selectedSCENE].SpriteAnimatedList[i].CurrentFrame.Begin(SpriteFlags.SortTexture | GSObjects[selectedSCENE].SpriteAnimatedList[i].flag);
                    GSObjects[selectedSCENE].SpriteAnimatedList[i].CurrentFrame.Draw2D(GSObjects[selectedSCENE].SpriteAnimatedList[i].textureSequence[GSObjects[selectedSCENE].SpriteAnimatedList[i].FrameID], new Point(0, 0), 0, new Point(500,500), Color.White.ToArgb());
                    GSObjects[selectedSCENE].SpriteAnimatedList[i].CurrentFrame.End();

                    if (i > SpriteList.Count) break;
                }
            }
        }
GSObject non è altro che una classe che contiene questo:

codice:
 public string SceneNAME = null;
        public int SceneID = 0;

        public List<Sprite> SpriteList = new List<Sprite>();
        public List<string> SpriteName = new List<String>();
        public List<Vector3> SpriteLocation = new List<Vector3>();
        public List<Texture> TextureList = new List<Texture>();
        public List<SpriteFlags> SpriteFlagList = new List<SpriteFlags>();
        public List<SpriteAnimation> SpriteAnimatedList = new List<SpriteAnimation>();

        public SurfaceDescription sdCURSOR;