Foros - Stratos

Stratos => XNA => Mensaje iniciado por: XÑA en 26 de Octubre de 2011, 07:38:42 PM

Título: Seek no me funciona en Texture2D.FromStream
Publicado por: XÑA en 26 de Octubre de 2011, 07:38:42 PM
Lo que quiere es empaquetar todas as texturas en un .dat, para que sea más manejable.

Lo he probado, pero no funciona. Parece como si al cargar, pasar absolutamente del Seek, pq siempre me carga el frame 0.


            string fullPath = @"stream.dat";
            //MS.Internal.InternalMemoryStream;

            if (stream == null)
            {
                Stream baseStream = TitleContainer.OpenStream(fullPath);

                stream = new StreamReader(baseStream);
            }

            //stream.BaseStream.Seek(DatosAnim.offsetForStream[contador], SeekOrigin.Begin);
            stream.BaseStream.Position = DatosAnim.offsetForStream[contador];

            texture = Texture2D.FromStream(GraphicsDevice, stream.BaseStream);

Título: Re: Seek no me funciona en Texture2D.FromStream
Publicado por: Vicente en 26 de Octubre de 2011, 10:00:11 PM
Has probado a copiar el trozo que quieras a un MemoryStream y entonces usar ese para el FromStream?
Título: Re: Seek no me funciona en Texture2D.FromStream
Publicado por: Vicente en 26 de Octubre de 2011, 10:03:35 PM
Mirando el codigo fuente del método, deberia aceptar el Seek correctamente (es más, si intentas pasarle un stream que no soporte Seek el método peta).
Título: Re: Seek no me funciona en Texture2D.FromStream
Publicado por: Hans en 27 de Octubre de 2011, 08:10:12 AM
Oye, pues es buena idea, parecido a lo que hago con los spritesheets para aligerar mucho los acessos a disco de la consola. Investigaré, suena interesante.
Título: Re: Seek no me funciona en Texture2D.FromStream
Publicado por: XÑA en 27 de Octubre de 2011, 08:59:31 AM
Lo del MemoryStream no lo he probado... Oo

He probado el seek y el position y nada.  :-\
Título: Re: Seek no me funciona en Texture2D.FromStream
Publicado por: XÑA en 28 de Octubre de 2011, 09:17:41 AM
Ok. Funciona!!!