Tutorial SDL OOP
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 3 di 3

Discussione: Tutorial SDL OOP

Cambio titolo
  1. #1
    Puppppppaaaaaaaaaaa L'avatar di Revan1985
    Registrato il
    01-06
    Località
    Solbiate Olona
    Messaggi
    1.655

    Tutorial SDL OOP

    allora, visto che ho deciso di imparare le sdl per gestire dominium [ irrlicht mi sembra troppo per puro 2d], ho deciso di creare un turotial su come utilizzarlo in Object Oriented Programming [OOP per gli amici]

    lo so che quelli che lo leggeranno perchè interesseranno ne sapranno fino alla nausea di sdl/c++, ma io ci voglio provare lo stesso...
    Se vi sembra utile, postate, io intanto comincio con la prima ^^

    edit:

    ehm, comincio domani, che scriverla direttamente sul forum è dura, anzi, facciamo cosi, io faccio il codice di dominium, lo posto a pezzi, e poi lo spiego

    mi sembra la via più facile

    edit 2:
    non commenterò ogni pezzo di codice [almeno dopo la prima], si intuisca che non rilascerò spiegazioni per coloro che non sanno c++, quindi, se volete leggere i miei tutorial, abbiate la compiacenza di sapere delle basi di c++, grazie ^^
    Ultima modifica di Revan1985; 20-07-2007 alle 13:56:05
    È stato detto che la democrazia è la peggior forma di governo, eccezion fatta per tutte quelle altre forme che si sono sperimentate finora.


  2. #2
    Utente L'avatar di Agnuz
    Registrato il
    06-06
    Località
    Pesaro
    Messaggi
    1.181
    Attendo il tutorial..

  3. #3
    Puppppppaaaaaaaaaaa L'avatar di Revan1985
    Registrato il
    01-06
    Località
    Solbiate Olona
    Messaggi
    1.655
    Per poter iniziare con i tutorial, bisogna che venga settato sdl.
    Andate a scaricare l'ultima release a questo indirizzo : http://www.libsdl.org/download-1.2.php
    scegliendo quella che vi è più consona [linux, windows, ecc.], scompattatela in una cartella [preferibilmente nelle cartelle include ,lib, e bin del vostro ide/compilatore ]

    dopo queste semplici operazioni, possiamo iniziare.

    I tutorial sono basati su VC++ Express 2005, ma si possono riadattare senza problemi anche agli altri compilatori/ide ^^

    Il codice principale è ovviamente, la vostra classe Principale, in questo caso chiamata CMain [ che fantasia neh? ]
    I 2 files sono :

    CMain.h [ conterrà la struttura della classe ]

    Codice:
    #ifndef CMAIN_H
    #define CMAIN_H
    
    #include "stdafx.h"
    
    class CMain
    {
    public:
        CMain();            // Costruttore della classe CMain
        ~CMain() { Release(); }        // Distruttore della classe
        void Release();            // Funzione che rilascerà le risorse occupate dalla classe CMain
        bool Initialize();        // Inizializzazione di SDL
        void Run();            // Avvio del programma
    private:
    };
    
    #endif
    CMain.cpp [ conterrà l'implementazione di CMain.h

    Codice:
    #include "stdafx.h"            // Include del file d'intestazione stdafx.h [ header precompilato di VC++ ]
    #include "CMain.h"            // include del file d'intestazione CMain.h [ il codice della classe ]
    
    CMain::CMain()                // Implementazione del costruttore [ per adesso vuoto, non ci serve ]
    {
    }
    
    void CMain::Release()            // Implementazione della funzione Release
    {
        SDL_Quit();            // Questo comando dice a SDL di terminare.
    }
    
    bool CMain::Initialize()                        // Inizializzazione della Classe
    {
        if( SDL_Init( SDL_INIT_EVERYTHING ) == -1 ) return false;    // Controlla che le SDL siano inizializzate, se ciò non avviene, restituisce false
        return true;                            // Se tutto è andato a buon fine, ritorna vero
    }
    
    void CMain::Run()                            // Funzione di Run della classe [ qui andranno tutti i cambi, la gestione delle sottclassi, ecc. ]
    {
    }
    stdafx.h [ Header precompilato]

    Codice:
    #pragma once
    
    #include <SDL.h>            // Include header SDL
    
    #pragma comment( lib, "SDL.lib")            // Include le lib necessarie al linker.
    #pragma comment( lib, "SDLmain.lib")
    main.cpp

    Codice:
    #include "stdafx.h"            // Include Header stdafx.h
    #include "CMain.h"            // Include header CMain.h
    
    int main( int argc, char* args[] )    // Funzione d'ingresso del programma c++
    {
        CMain* main = new CMain();    // Creazione della classe CMain e sua inizializzazione
        if( !main->Initialize() ) return 1;        // Se la classe non &#232; stata inizializzata con successo, ritorna codice di errore 1
    
        main->Run();            // Avvio del programma
    
        return 0;
    }
    bene, provate a far avviare il tutto.
    se non restituisce errori, &#232; andato tutto bene, senn&#242;, c'&#232; qualcosa che non va

    per la cronaca, non verr&#224; visualizzato niente, questa classe serve solo come scheletro per le future lezioni.
    È stato detto che la democrazia è la peggior forma di governo, eccezion fatta per tutte quelle altre forme che si sono sperimentate finora.


Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •