Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Screenshots en android

Iniciado por leocub58, Agosto 09, 2015, 09:06:26 PM

Tema anterior - Siguiente tema
Buenas, tengo una pregunta. ¿Cómo saco screenshots en android? A ver, en el PC es fácil, pero en android no me deja. Ya he probado con Application.CaptureScreenshot(Application.persistentDataPath + "screenshot.png") y tambien con  Application.CaptureScreenshot(Application.DataPath + "screenshot.png")pero nada funciona. ¿Alguien que lo haya echo?

En mi aplicación de SkCombat lo hemos hecho, pero es algo que se encargo mi compañero.Creo recordar que lo hizo en plan "cutre". Creas un Texture2D del tamaño de tu pantalla(en pixeles). Luego vas rellenando cada pixel de esta imagen, con un ReadPixels de la camera. Una vez todos los piceles leidos, le haces un Apply a la Texture2D para "fijar" los pixeles y ya por acabar con el EncodeToPng, lo sacas en formato archivo.No puedo explicarte mas, porque te escribo desde casa y de memoria. Si tienes dudas, dale un vistazo a google porque hay docenas de hilos explicando eso.

Si es una captura como lo que hace crossy road cuando te matan es muy fácil, tienes en algunos plugins como el oficial de google o el native plugin Android la función detallada muy sencilla
Texture2D tex = new Texture2D(Screen.width, Screen.height);
tex.ReadPixels(new Rect(0,0,Screen.width,Screen.height),0,0);
tex.Apply();
Enviado desde mi SM-N910F mediante Tapatalk

[quote author=Quel" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15932" data-ipsquote-contentcommentid="101691">En mi aplicación de SkCombat lo hemos hecho, pero es algo que se encargo mi compañero.Creo recordar que lo hizo en plan "cutre". Creas un Texture2D del tamaño de tu pantalla(en pixeles). Luego vas rellenando cada pixel de esta imagen, con un ReadPixels de la camera. Una vez todos los piceles leidos, le haces un Apply a la Texture2D para "fijar" los pixeles y ya por acabar con el EncodeToPng, lo sacas en formato archivo.No puedo explicarte mas, porque te escribo desde casa y de memoria. Si tienes dudas, dale un vistazo a google porque hay docenas de hilos explicando eso.[/quote]Realmente creo que eso no me sirve pues yo lo que necesito es guardar las capturas en la galería de android pero todo lo que he encontrado en internet es con  Application.CaptureScreenshot(Application.persistentDataPath + "screenshot.png") 

Agosto 17, 2015, 02:11:53 PM #4 Ultima modificación: Agosto 17, 2015, 02:14:46 PM por Quel
Una cosa es como capturas la pantalla y otra es donde guardas esa información.Para lo primero, ya se te ha respondido.Para lo segundo ... SI quieres acceder a la galería del Android tendrás que usar un plugin *.JAR, para comunicarte mas directamente con el sistema operativo, sin Unity de por medio. Pero eso es harina de otro costal y si no estas un poco ducho en temas de programación, mal lo llevas.
En tal caso no te puedo ayudar, porque no me se la solución de memoria. Pero si investigas un poco (y estas dispuesto a soltar algo de dinero), seguro que encuentras plugins a la venta que te hacen el trabajo. Los hay.

Etiquetas: