Comunidad de diseño web y desarrollo en internet online

Reto pizarra que quede guardada

Citar            
MensajeEscrito el 17 Nov 2006 07:56 pm
Hola, soy un poco nuevo en esto de flash, aunque esto que pregunto no creo que sea muy fácil.

A ver si sabeis como se hace esto, que además es una buena idea:
Me gustaría hacer un flash que fuera una pizarra, en la que pudiera escribirse (hasta aqui lo normal), pero que pudiera almacenar su información, de manera que alguien que entre en la página deja algo escrito y se va, luego entra otra persona y escribe otra cosa, y otra borra un trozo de la primera y lo sustituye por otra cosa. Lo que sería una pizarra de verdad, en la que se puedan dejar mensajes escritos para otros usuarios que vengan detrás.

Muchas gracias, espero que sepais.

Por izzluzo

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 17 Nov 2006 10:23 pm
Para empezar, poné este código en el primer y único fotograma de una película nueva:

Código :

var escribiendo:Boolean = false;
//
this.createEmptyMovieClip ("contenedor", 1);
//
onMouseDown = function () {
escribiendo = true;
contenedor.moveTo (_xmouse, _ymouse);
contenedor.lineStyle (1, 0xCCCCCC);
//
if (Key.isDown (Key.CONTROL)) {
contenedor.clear;
}
};
onMouseUp = function () {
escribiendo = false;
};
onMouseMove = function () {
if (escribiendo) {
contenedor.lineTo (_xmouse, _ymouse);
}
};


Haciendo click en la pantalla, dibujás y con Ctrl + click borrás todo.


Ahora, la explicación. Lo que hace el código es crear un MC vacío llamado contenedor.

Luego, hay tres eventos, MouseDown, MouseUp y MouseMove, que se explican solos donde se ubican las acciones principales. En el MouseMove, hay un condicional que se fija si la variable escribiendo es igual a true y en el MouseDown, uno que se fija si la tecla control está apretada.


Creo que el resto, lo podés interpretar sólo sin muchos conocimientos de AS.

Lo que sigue es que practiques con este código y veas bien cómo funciona y cómo lo podés cambiar.


Para hacer lo que vos pedís, tenés que convertir cada par de coordenadas, a un elemento de un array. Y enviar y cargar los datos en y desde un servidor. Pero eso ya es más difícil.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 19 Nov 2006 08:05 pm
gracias, pero lo de hacer una pizarra no es la cuestión, lo que mas me interesa es lo de conseguir que cuando un usuario pinte y se vaya, al llegar otro usuario vea lo que se ha dejado pintado en la pizarra por otros o por si mismo anteriormente. que se quede guardado lo pintado, y si puede ser, además, que no haya que darle a ningun boton tipo "guardar", sino que se quede solo (esto ya si se puede, pero no es imprescindible).

Gracias

Por izzluzo

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 19 Nov 2006 08:19 pm
Lo que pides no es fácil... Puedes intentar hacer que la pizarra sea un BitmapData y que cada vez que un usuario se conecte carge ese bitmap y al hacer algun cambio lo sobrescriba en el servidor.
Esto te puede ayuda a empezar...

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 19 Nov 2006 08:32 pm
MM muy interesante eso, Zguillez.
Pero si no quieres que se guarde en una BD ni nada raro yo lo haría con un xml, aunque te puede quedar un poco pesado:
Para dibujar lanzaría un onMpuseMove con un mouseDown y que me guardara las posiciones del mouse (en un xml y tal). De hecho, no sería muy difícil añadirle coloritos. Luego usas php para guardar ese xml y cuando se cargue a página haces una función que lo dibuje.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 20 Nov 2006 02:04 pm
buf!, he mirado el ejemplo de zguillez, y si no lo he entendido mal, éste crea una copia de lo dibujado, de manera que esto puede reproducirse, pero no se puede interactuar con ello. Lo que quiero conseguir es que si tu entras en la pizarra y hay cosas dibujadas, puedas borrarlas con un pincel "borrador" y escribir con un pincel "pintar". Además quería que hubiera una imagen de fondo sobre la que se pinta (en plan una hoja de papel), y que esta siempre permanezca, aunque se borren los trazos que hay sobre ella).

no se lo que es BD ni PHP, soy bastante nuevo en esto. Por favor, que las respuestas sean para tontos.
Gracias.

Por izzluzo

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 20 Nov 2006 03:20 pm
La idea de Zah es buena. Puedes crearte una API de dibujo que te vaya guardando los pasos gráficos que vas creando, y los guarda en una base de datos. cuando entras en la página lees de esa base de datos y reproduces su contenido. (y)

izzluzo escribió:

no se lo que es BD ni PHP, soy bastante nuevo en esto.

Montar una cosa así no es cosa fácil y requiere su tiempo, asi que si no tienes muchos conocimientos de programación ni de trabajo con bases de datos creo que te será dificil hacerlo...
Empieza con mirarte los tutoriales de BD y XML.
Suerte

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 20 Nov 2006 03:55 pm
Hola,

lo que comenta zah no sería utilizar SVG?

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 20 Nov 2006 04:03 pm

dmvalverde escribió:

Hola,

lo que comenta zah no sería utilizar SVG?


Errr yo decía algo mucho más sencillo. Arrays de objetos con propiedades x é y, y luego otras generales como pueden ser el color, el tamaño de la línea, ect. Luego para cargarlo que una los puntos con lineTo y punto. De hecho hace tiempo hice algo de esto con SharedObjects... pero vete a encontrarlo XD

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox

 

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