Sto costruendo uno strumento tramite websocket che consente a più utenti di "disegnare" sulle tele degli altri. L'utente disegna su una tela e un oggetto che contiene eventi/coordinate mouse/mouseup viene trasferito istantaneamente ad altri utenti. Questo viene quindi tracciato sulle loro tele, che dà l'effetto di far disegnare più utenti nello stesso punto.HTML Canvas: multiplo getContext tracciato allo stesso tempo
Funziona come descritto: puoi vedere qualcuno disegnare qualcosa, quindi disegnare qualcosa che apparirà all'interno della tela. Il problema si verifica quando si disegna nello stesso momento di qualcun altro.
Per ogni utente, si crea un nuovo contesto per la tela di ciascun utente utilizzando:
oekaki['canvas'] = document.getElementById('canvas');
oekaki['ctx'][unique_user_id] = oekaki['canvas'].getContext("2d");
Quando si disegna nello stesso momento come un altro utente, le tele follemente disegnare linee tra le vostre e le loro coordinate, nonostante usando i diversi contesti.
Perché è questo il caso? Devo fare qualcos'altro per sistemare più linee contemporaneamente? Non è possibile creare più contesti in questo modo?
Qualsiasi aiuto sarebbe più apprezzato.
Tu, signore, sei geniale. Questo ha funzionato immediatamente, e mi ha salvato da ore più di frustrazione. Grazie mille! – eddz