Comunidad de diseño web y desarrollo en internet online

Problema con Save de FileReference

Citar            
MensajeEscrito el 10 Ago 2014 09:25 am
Hola, antes de nada decir que tengo muy poca idea de como programas con AS3, a pesar de que he leido y leo mucha información no consigo enterarme de mucho, aún así estoy intentando hacer un juego.

El juego trata de que tengo una imagen a la que quiero colocarle encima varios objetos y algún fondo detrás, esto lo he conseguido y a pesar de que son muchos objetos todos funcionan y se ven cuando quiero, también he utilizado para algunos la función de arrastrar, el problema está que al terminar de editar la imagen principal mi intención es que se pueda guardar esta imagen final editada, pero no lo consigo, este es el código que utilizo para intentar captar esta imagen pero nada:

Código ActionScript :

import com.adobe.images.JPGEncoder;

var jpgOrigen:BitmapData = new BitmapData (stage.stageWidth, stage.stageHeight, true, 0);
jpgOrigen.draw(fondobasico);

var jpgEncoder:JPGEncoder = new JPGEncoder(85);

var jpgFile:ByteArray = jpgEncoder.encode(jpgOrigen);

botonguardar.addEventListener(MouseEvent.MOUSE_UP,guardar);

function guardar (event:MouseEvent){
Código ActionScript :

var ficheroGuardado:FileReference = new FileReference();
ficheroGuardado.save(jpgFile,"my_imagen.jpg");
}



No se si será el problema pero yo el código no lo tengo metido en un AS aparte enlazándolo al Flash, mayormente porque por más que me he puesto no me sale, así que tengo metido todo el código en el Flash y de momento todo funciona bien, menos esto, que es lo que me queda para conseguir lo que quiero, agradecería mucho un poco de ayuda, necesito poder terminar este proyecto. Gracias.

Por cruz86

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Ago 2014 12:59 pm
En realidad Flash no puede guardar archivos de esa forma por un tema de sandbox. Un FileReference es una referencia a un archivo que ha seleccionado o subido el usuario, no se puede crear un archivo nuevo. Si quieres tener acceso al sistema de archivos, crea una aplicación AIR y usa la clase FileSystem, si es algo web, tendrás que usar un lenguaje de back-end para poder guardar tu archivo en el servidor

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Ago 2014 02:44 pm
Y no se puede guardar la imagen de otra forma? yo lo que quiero es algo como en estos ejemplos:
http://www.gtazz.com/kataan/igdesigner/
https://code.google.com/p/avatarcore/
http://www.flash-sports.com/rugby-flash/flash/root.swf?quejuego=0 ( este no tiene save pero si se manda a un carrito de la compra, que también me interesaría)

Siento que mi nivel de AS3 y Flash sea casi nulo, no logro entender tu explicación, aunque te lo agradezco mucho.

Por cruz86

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Ago 2014 03:12 pm
Ok, lo traduzco en palabras simples.
- Si es para web no puedes si no usas un lenguaje de servidor (PHP, .Net, Java, etc)
- Si es local (o sea se abre desde un exe) tienes que publicarlo como aplicación AIR (una especie de proyector que encuentras en las opciones de publicación de Flash) y usar la clase FileSystem

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Ago 2014 09:34 am
Muchas gracias por tu respuesta, haber lo que puedo hacer.

Por cruz86

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.