Buduję narzędzie za pomocą websockets, które pozwala wielu użytkownikom "rysować" na płótnach nawzajem. Użytkownik rysuje na płótnie, a obiekt zawierający zdarzenia i współrzędne przekazane innym użytkownikom jest natychmiast przekazywany do innych użytkowników. To jest następnie nanoszone na ich płótna, co daje efekt polegający na tym, że wielu użytkowników rysuje w tym samym miejscu.Płótno HTML: wiele kresek getContext w tym samym czasie
Działa tak, jak opisano: można obejrzeć, jak ktoś coś narysuje, a następnie narysować coś, co pojawi się na ich płótnie. Problem pojawia się, gdy rysujesz w tym samym momencie co ktoś inny.
Dla każdego użytkownika, tworzy nowy kontekst dla płótnie każdego użytkownika za pomocą:
oekaki['canvas'] = document.getElementById('canvas');
oekaki['ctx'][unique_user_id] = oekaki['canvas'].getContext("2d");
Podczas rysowania w tym samym momencie, co inny użytkownik, płótna szaleńczo rysować linie między swoimi a ich współrzędne, mimo to używając różnych kontekstów.
Dlaczego tak się dzieje? Czy muszę zrobić coś innego, aby uwzględnić jednocześnie wiele wykreślanych linii? Czy w ten sposób nie można tworzyć wielu kontekstów?
Każda pomoc będzie najbardziej ceniona.
Ty, panie, jesteś genialny. To zadziałało natychmiast i uratowało mnie od wielu godzin frustracji. Dziękuję Ci bardzo! – eddz