Ho il mio programma di disegno in atto, con una varietà di "strumenti di disegno" come penna, gomma, Rettangolo, Cerchio, Select, Testo eccCreazione disegno lavagna collaborativa applicazione
E 'fatta con Python e wxPython . Ogni strumento menzionato sopra è una classe, che ha tutti metodi polimorfici, come left_down(), mouse_motion(), hit_test(), ecc. Il programma gestisce un elenco di tutte le forme disegnate - quando un utente ha disegnato una forma, viene aggiunta alla lista. Questo è usato anche per gestire le operazioni di annullamento/ripetizione.
Quindi, ho una base di codice decente in cui posso collegare il disegno collaborativo. Ogni forma può essere cambiata per conoscere il suo proprietario - l'utente che l'ha disegnata e per consentire solo le operazioni di eliminazione/spostamento/ridimensionamento da eseguire su forme possedute da una persona.
Mi chiedo solo il modo migliore per svilupparlo. Una persona nella "sessione" dovrà agire come server, non ho soldi per offrire server centrali gratuiti. In qualche modo gli utenti avranno bisogno di un modo per connettersi ai server, cioè un qualche tipo di browser "discover servers" ... o qualcosa del genere. Come trasmetto le modifiche apportate all'applicazione? Disegnare in tempo reale e trasmettere un messaggio su ogni evento di movimento del mouse sarebbe costoso in termini di prestazioni e le cose peggioreranno più gli utenti ci saranno in un dato momento.
Tutte le idee sono benvenute, io non sono troppo sicuro dove cominciare con lo sviluppo di questo (o anche come prova di esso)
voglio assolutamente dare un'occhiata al sorgente quando hai finito di pitone, sto cominciando, me stesso. –
http://launchpad.net/whyteboard guardare sotto "rami" –