Creare Videogiochi - Game Developer
Codice Commentato - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Altri Programmi per la Creazione di Videogames (https://www.making-videogames.net/giochi/Forum-Altri-Programmi-per-la-Creazione-di-Videogames)
+--- Forum: Darkbasic Pro, DarkGDK (https://www.making-videogames.net/giochi/Forum-Darkbasic-Pro-DarkGDK)
+--- Discussione: Codice Commentato (/thread-Codice-Commentato)



Codice Commentato - Riddick - 09-02-2011

Ho fatto questo piccolo esempio, per i neofiti che vogliono cominciare con darkbasic pro, l'ho voluto fare, anche perchè in giro su internet si trova be poco in Italiano, almeno io ho provato a dare un'idea di come gestire l'input, caricare un modello, impostare il display mode e a cosa serve il Sync etc...

Source:

Codice PHP:
//Impostazione Frame Rate
Sync on //Attiviamo l'opzione: Sync, che servirà per "rinfrescare" lo schermo
Sync rate 60 //Impostiamo gli fps a 60

//Autocam off
Autocam off //Cosi che la camera non si auto-posiziona nel momento in cui un nuovo oggetto viene creato o caricato

//Attiviamo il backdrop (correzione fatta nel post e no nel progetto, nel progetto c'è: "Impostiamo colore sofondo")
backdrop on

//Settaggio display
if (check display mode (80060032)) //Se il pc supporta la profondità 32 bit, allora esegue l'istruzione: "set display mode 800, 600, 32"
    
set display mode 80060032
    
else //altrimenti
    
set display mode 80060016 //esegue quest'altra azione, che imposta la profondità a 16 bit
ENDIF

//Settaggio raggio e posizione della camera
position camera  0250//Posizioniamo la camera x, y, z = 0, 250, 0
set camera range 010000 //Impostiamo il raggio della camera: 0 = valore vicino - 10000 = valore lontano

//Variabili
 
4
 y 
4
 z 
4

//Caricamento modello 3D
Load object "Models\model.x"//Il numero 1, specifica il numero oggeto, infatti se compiliamo senza il numero, il compilatore ci darà
                             //questo errore: "Parameter for 'LOAD OBJECT' do not match 'Filename, Object Number' at line 28."   
DO

//Muovere il "personaggio"
    
if (mouseclick() = 1//Se l'utente preme il tasto sinistro del mouse il giocatore si sposterà in avanti di 4 unità sulle assi x, y ,z
        
move camera x +  z
    
ENDIF //Fine dell'if
    
    
if (mouseclick() = 2//Se l'unte preme il tasto destro del mouse il giocatore si sposterà indietro di 4 unità sulle assi z, y, z
       
move camera x 
    
ENDIF //Fine dell'if
    
    
rotatey#=wrapvalue(rotatey#+mousemovex()) //L'utente spostando il mouse potrà ruotare la camera
    
rotate camera rotatex#,rotatey#,0 //Fine codice
//Fine
    
     
Sync //D'obligo per "rinfrescare" lo schermo, alrimenti se lo mettiamo al di fuori del cilco DO lo schermo verrà "rinfrescato" solo una volta
LOOP 

"Se l'utente preme il tasto sinistro del mouse il giocatore si sposterà in avanti di 4 unità sulle assi x, y ,z" io le ho chiamate unità perché non sapevo come altro scrivere xD

Ovviamente il codice è molto semplice, quindi si può migliorare notevolmente, inserendo collissioni, luce etc...

Ma per iniziare va bene, perché il codice che ho scritto è abbastanza semplice da capire.

Spero che il codice l'ho commentato discretamente xD.

Dowload del progetto, con un modello 3d fatto da me, fa pena perché era solo per il tutorial XD.

Download


RE: Codice Commentato - Zapetino - 09-02-2011

bhe molto utile per chi è all'inizio grazie!!


RE: Codice Commentato - KillerZ - 09-02-2011

grazie, mi serviva


RE: Codice Commentato - Jonathan Archer - 12-02-2011

Un bel ringraziamento ci sta ^^