[XNA] ProgressBar e classe astratta Control - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Programmazione (https://www.making-videogames.net/giochi/Forum-Programmazione) +--- Forum: Programmazione in C C++ e C# (https://www.making-videogames.net/giochi/Forum-Programmazione-in-C-C-e-C) +--- Discussione: [XNA] ProgressBar e classe astratta Control (/thread-XNA-ProgressBar-e-classe-astratta-Control) |
[XNA] ProgressBar e classe astratta Control - ManHunter - 09-05-2013 Salve a tutti, proprio ieri ero alle prese con la realizzazione dei controlli per il mio videogame. Uno di essi, la ProgressBar, lo porto come argomento di discussione qui. Ma bando alle ciance, iniziamo. Innanzitutto, occorre creare una generica classe "Control", che ci permetterà di derivare da essa tutti i controlli di cui abbiamo bisogno. Quindi, creiamo una nostra classe chiamata "Control.cs": Codice PHP: using System; (P.S.: Tale classe potete trovarla seguendo la serie di tutorial di xnagpa.net, dei quali ho davvero apprezzato l'approccio) Come potete notare, essa espone quattro metodi astratti che dovranno essere implementati da qualunque classe erediti da essa. Abbiamo ora la nostra classe base dalla quale potremo creare qualsiasi controllo ci occorra nel nostro gioco/applicativo. Il controllo che voglio implementare è, come già detto, la ProgressBar. Creiamo, quindi, la nostra classe "ProgressBar.cs". Ecco il codice: Codice PHP: using System; Tale classe eredita da "Control" e fa override sui metodi astratti di tale classe. Inoltre, espone due metodi: - PerformStep() - ClearBar() Come intuibile, PerformStep() esegue un "avanzamento" della barra. La dimensione dell'avanzamento è determinato da: - barInc, a livello logico - rateo, a livello grafico ClearBar(), invece, resetta la barra impostando lo stato della barra a 0. Non mi viene in mente altro da aggiungere, per cui se ho dimenticato qualcosa vi prego di farmelo notare! Provvederò subito a chiarire o, nel caso, ad aggiungere dettagli! Saluti! |