Estoy construyendo una herramienta usando websockets que permite que varios usuarios "dibujen" en los lienzos de los demás. El usuario dibuja en un lienzo y un objeto que contiene eventos y coordenadas mousedown/mouseup se envía instantáneamente a otros usuarios. Esto se traza en sus lienzos, lo que da el efecto de tener múltiples usuarios dibujando en el mismo lugar.Lienzo HTML: trazado múltiple de getContext al mismo tiempo
Funciona como se describe: puedes ver a alguien dibujar algo, luego dibujar algo que aparecerá dentro de su lienzo. El problema ocurre cuando dibujas en el mismo momento que otra persona.
Para cada usuario, se crea un nuevo contexto para la lona de cada usuario usando:
oekaki['canvas'] = document.getElementById('canvas');
oekaki['ctx'][unique_user_id] = oekaki['canvas'].getContext("2d");
Cuando se dibuja en el mismo momento como otro usuario, los lienzos con locura trazar líneas entre sus y sus coordenadas, a pesar de que usando los diferentes contextos.
¿Por qué es este el caso? ¿Tengo que hacer algo más para acomodar múltiples líneas que se trazan a la vez? ¿No es posible crear múltiples contextos de esta manera?
Cualquier ayuda sería muy apreciada.
Usted, señor, es brillante. Esto funcionó de inmediato, y me salvó de horas más de frustración. ¡Muchas gracias! – eddz