J'ai mon propre programme de dessin en place, avec une variété de « outils de dessin » tels que stylo, gomme à effacer, Rectangle, Cercle, Select, texte, etc.Création d'applications dessin collaboratif de tableau blanc
Il est fait avec Python et wxPython . Chaque outil mentionné ci-dessus est une classe, qui a tous des méthodes polymorphes, comme left_down(), mouse_motion(), hit_test() etc. Le programme gère une liste de toutes les formes dessinées - quand un utilisateur a dessiné une forme, il est ajouté à la liste. Ceci est utilisé pour gérer les opérations annuler/rétablir aussi. Donc, j'ai une bonne base de code dans laquelle je peux accrocher le dessin collaboratif. Chaque forme peut être modifiée pour connaître son propriétaire - l'utilisateur qui l'a dessinée et pour autoriser uniquement les opérations de suppression/déplacement/redimensionnement sur des formes appartenant à une personne.
Je me demande juste la meilleure façon de développer cela. Une personne dans la "session" devra faire office de serveur, je n'ai pas d'argent pour offrir des serveurs centraux gratuits. D'une certaine façon, les utilisateurs auront besoin d'un moyen de se connecter aux serveurs, ce qui signifie une sorte de "découvrir les serveurs" navigateur ... ou quelque chose. Comment puis-je diffuser les modifications apportées à l'application? Dessiner en temps réel et diffuser un message sur chaque mouvement de souris serait coûteux en termes de performance et les choses empirent au fur et à mesure que le nombre d'utilisateurs augmente.
Toutes les idées sont les bienvenues, je ne suis pas trop sûr où commencer à développer ce (ou même comment le tester)
Je veux vraiment jeter un oeil à votre source lorsque vous avez terminé, je commence python, moi-même. –
http://launchpad.net/whyteboard regardez sous "branches" –