Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262

    [Delphi]Suggerimenti per un progettino

    Ciao, siccome c'ho preso gusto con i giochetti scritti in Delphi, volevo adesso ricreare qualcosa di simile al gioco Arkanoid. Non mi va di cercare materiale in rete ed aiuti simili, vorrei fare tutto da me.Ho bisogno prima di qualche delucidazione:
    1) Ad esempio, le mattonelle presenti in ogni quadro; mi conviene creare (significa predisporre 50-60 mattonelle) piccoli pannelli oppure è conveniente qualche altro metodo per affrontare questa faccenda?
    2)Per eliminare una mattonella (al momento del contatto con la pallina) dovrei fare uso di qualche metodo particolare?
    3) Consiglio generale: un programmatore costruisce prima tutta la GUI e poi si concentra solo sul codice oppure è conveniente cominciare a scrivere da subito del codice?

    Avrei già qualche idea, ma mi piacerebbe cominciare a scrivere del codice più efficente riguardo la faccenda della creazione e distruzione delle mattonelle (dovrei usare quel componente tuttofare che si chiama panel , vero?)
    Ogni consiglio è ben accetto.
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    50
    allora, io ti consiglio di usare un motore 3D come il potentissimo GlScene . Cmq ti consiglio di iniziare subito con il codice...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Vedo che la creazione di giochi in Delphi ti ha entusiasmato...

    Sul fatto di non cercare aiuti in rete, mi sa che farai molta fatica. Forse intendevi dire che non volevi scaricare materiale già pronto per il gioco, però credo che la lettura di qualche articolo e l'uso di qualche package avanzato potrebbe farti comodo.

    Ti dò le mie risposte alle tue domande:
    1) secondo me dovresti evitare assolutamente l'uso di TPanel e altri controlli visuali standard, poichè sono fatti per sviluppare interfacce utente e risultano lenti nonchè dispendiosi di risorse rispetto ad altre comode soluzioni;
    2) l'eliminazione della mattonella, secondo me, è un problema già molto "avanti"...aspetta di iniziare e di aver scelto gli strumenti per realizzare il tuo lavoro prima di prendere decisioni implementative ;-)
    3) secondo me, un programmatore dovrebbe prima concentrarsi sugli algoritmi, sulla logica, cioè pensare prima al modo in cui l'applicazione deve funzionare; successivamente, credo che in un caso come il tuo codice ed elementi grafici potrebbero andare di pari passo poichè comunque hai bisogno di un feedback visivo per vedere se gli algoritmi che governano il tuo gioco funzionano adeguatamente.

    Per lo sviluppo del programma, come ti dicevo prima, lascerei perdere l'uso del TPanel e controlli analoghi. Se proprio vuoi implementare il tuo gioco con qualcosa di già esistente e incorporato nella VCL, puoi usare la PaintBox, ma non è performante e ti troveresti a dover diventare matto per gestire eventuali problemi di flickering, lentezza di aggiornamenti, ottimizzazione di disegno delle aree e tante altre cose.
    Cerca in rete (eh sì, purtroppo ti tocca) qualche package in grado di gestire grafica 2D in maniera efficiente. Per alcuni progetti in cui avevo bisogno di alte performance grafiche, ho utilizzato la libreria OpenSource Graphics32: è eccezionale e include controlli visuali di alto livello per poter iniziare da subito a disegnare poligoni complessi con semitrasparenza, il tutto in maniera estremamente veloce e senza alcun flickering. Gli esempi scaricabili ti chiariranno meglio le potenzialità.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Originariamente inviato da alka
    Vedo che la creazione di giochi in Delphi ti ha entusiasmato...
    Sembrerà strano, ma mi appasiona tanto programmare videogiochi, perchè in questo modo capisco tutti i retroscena di semplici azioni, che magari implicano tanto codice e tante pene!!

    Sul fatto di non cercare aiuti in rete, mi sa che farai molta fatica. Forse intendevi dire che non volevi scaricare materiale già pronto per il gioco, però credo che la lettura di qualche articolo e l'uso di qualche package avanzato potrebbe farti comodo.

    Ti dò le mie risposte alle tue domande:
    1) secondo me dovresti evitare assolutamente l'uso di TPanel e altri controlli visuali standard, poichè sono fatti per sviluppare interfacce utente e risultano lenti nonchè dispendiosi di risorse rispetto ad altre comode soluzioni;
    2) l'eliminazione della mattonella, secondo me, è un problema già molto "avanti"...aspetta di iniziare e di aver scelto gli strumenti per realizzare il tuo lavoro prima di prendere decisioni implementative ;-)
    3) secondo me, un programmatore dovrebbe prima concentrarsi sugli algoritmi, sulla logica, cioè pensare prima al modo in cui l'applicazione deve funzionare; successivamente, credo che in un caso come il tuo codice ed elementi grafici potrebbero andare di pari passo poichè comunque hai bisogno di un feedback visivo per vedere se gli algoritmi che governano il tuo gioco funzionano adeguatamente.

    Per lo sviluppo del programma, come ti dicevo prima, lascerei perdere l'uso del TPanel e controlli analoghi. Se proprio vuoi implementare il tuo gioco con qualcosa di già esistente e incorporato nella VCL, puoi usare la PaintBox, ma non è performante e ti troveresti a dover diventare matto per gestire eventuali problemi di flickering, lentezza di aggiornamenti, ottimizzazione di disegno delle aree e tante altre cose.
    Cerca in rete (eh sì, purtroppo ti tocca) qualche package in grado di gestire grafica 2D in maniera efficiente. Per alcuni progetti in cui avevo bisogno di alte performance grafiche, ho utilizzato la libreria OpenSource Graphics32: è eccezionale e include controlli visuali di alto livello per poter iniziare da subito a disegnare poligoni complessi con semitrasparenza, il tutto in maniera estremamente veloce e senza alcun flickering. Gli esempi scaricabili ti chiariranno meglio le potenzialità.

    Ciao!
    Non penso certo di fare cose fantasmagoriche, la scelta di Arkanoid (ribattezzato kakkanoid, il nome del mio giochetto) non è casuale, avevo intenszione di sfruttare la base del primo giochetto e poi fare qualcosa di più seria.
    Ok mi documenterò, voi state all'ertà però!!!

  5. #5
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Originariamente inviato da Angbis
    allora, io ti consiglio di usare un motore 3D come il potentissimo GlScene . Cmq ti consiglio di iniziare subito con il codice...
    Per il momento niente 3d, considerami ancora un delphino in svezzamento

  6. #6
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Ciao Alka, ho seguito il tuo consiglio ed ho scaricato g32 la versione 1.5.1 ed ho seguito le istruzioni di installazione.La cartella con tutti i file l'ho messa in C:\Programmi\Borland\Delphi5\g32, ho scelto il file adatto alla mia versione di Delphi (uso la 5). Purtroppo ricevo degli errori, non trova G32.dcu ed G32_Reg.dcr
    mi sapresti aiutare?

    Un'altra cosa,ho visto qualcosa riguardo DelphiX, che ne dici?

  7. #7

    Re: [Delphi]Suggerimenti per un progettino

    Originariamente inviato da gokan

    3) Consiglio generale: un programmatore costruisce prima tutta la GUI e poi si concentra solo sul codice oppure è conveniente cominciare a scrivere da subito del codice?
    Di solito si crea tutta la logica sotto e poi si crea la GUI in base alla funzioni di essa.(C++ docet)


    Ciao
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da gokan
    Ciao Alka, ho seguito il tuo consiglio ed ho scaricato g32 la versione 1.5.1 ed ho seguito le istruzioni di installazione.La cartella con tutti i file l'ho messa in C:\Programmi\Borland\Delphi5\g32, ho scelto il file adatto alla mia versione di Delphi (uso la 5). Purtroppo ricevo degli errori, non trova G32.dcu ed G32_Reg.dcr
    mi sapresti aiutare?
    Io avrei scelto una cartella un po' più distaccata, magari creando una sottocartella in quella di Delphi del tipo "3rdParts" (terze parti) in cui memorizzare il package Graphics32 e altri package aggiuntivi che possono occorrerti.

    Prima di poter utilizzare il package, devi installarlo. Suppongo che tu non abbia eseguito correttamente questa procedura.
    Il package si compone di due parti: una runtime e una designtime. In genere si suddividono in questo modo per distinguere ciò che serve all'applicazione da ciò che serve solamente per lo sviluppo all'interno di Delphi.
    Il package "runtime" è quello che ha per nome GR32_D5.dpk (esiste un file per ogni versione di Delphi). Devi aprirlo tramite il comando [File|Open] in Delphi e compilarlo con il comando [Project|Build]: in questo modo, generi il package compilato BPL corrispondente, il quale contiene la versione binaria (vedilo come un eseguibile) delle classi e dei componenti inclusi nel package. Successivamente, devi aprire in Delphi il file GR32_DSGN_D5.dpk che rappresenta il package "designtime": questo package fa uso della controparte "runtime" che abbiamo compilato in precedenza per fornire tutto ciò che serve per sviluppare in Delphi con tali componenti (icone per la Palette, eventuali editor di componente e di proprietà, expert, ecc.). Dalla finestra di dialogo che visualizza i file contenuti nel package, premi il pulsante "Install" per creare il file binario BPL corrispondente e installarlo in Delphi.

    Questa suddivisione apparentemente macchinosa è comoda poichè consente di distribuire con le proprie applicazioni il file BPL che corrisponde al package contenente i componenti e le classi utilizzate nel proprio progetto, ammesso che l'applicazione venga compilata con l'opzione "Build with runtime packages" attivata.

    Infatti, nel creare le tue applicazioni, puoi scegliere se includere il codice sorgente dei componenti Graphics32 (e degli altri package standard di Delphi) all'interno dell'eseguibile, oppure fare in modo che la tua applicazione si colleghi dinamicamente a tale codice, come avviene per le DLL, caricando il file BPL compilato (opzione "Build with runtime packages attivata").

    Se decidi di compilare tutto nella tua applicazione, allora dovrai indicare a Delphi il percorso dei file sorgenti che appartengono al package Graphics32: questo puoi farlo semplicemente visualizzando la finestra di dialogo [Tools|Environment Options], spostandoti su "Library" e aggiungendo il percorso di Graphics32 al Library Path.

    Un'altra cosa,ho visto qualcosa riguardo DelphiX, che ne dici?
    DelphiX è un package che è stato creato qualche anno fa come tentativo di accedere alle funzioni API della libreria DirectX di Microsoft. Purtroppo, gli header cambiano frequentemente così come si avvicendano le varie versioni di DirectX, quindi non so se si può ritenere ancora aggiornato. Se ti interessano le funzionalità di DirectX, puoi utilizzare il porting realizzato dal team Jedi presente sul CD dei Companion Tools di Delphi, o scaricabile dal sito ufficiale del Project Jedi.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Grazie per le tue spiegazioni sempre complete
    Le istruzioni:
    ------------------------------------------------------------
    Installation
    Graphics32 supports Delphi versions 4, 5, and 6, and C++ Builder 5.

    Note, because some properties of range bars and gage bars have been changed, you can obtain some error messages while opening your previous Graphics32 projects. Just ignore these messages and Delphi will fix DFM files automatically.



    Unzip the files;
    Add location of main installation directory to Tools | Environment Options | Library | Library Path.
    Select File | Open... on the menu bar. Set Files of type to Delphi package source, locate and open GR32_DSGN_D6.dpk (GR32_DSGN_D5 for Delphi5, GR32_DSGN_D4 for Delphi4 or GR32_DSGN_B5 for C++ Builder);
    A package editor window will appear. Click Compile, then click Install;
    If compiler asks whether you want to save changes, usually it is a good idea to choose No.
    ------------------------------------------------------------
    Non parlano di runtime e design time, forse per questo motivo non funzionano bene. Smanetto ancor un pò.
    Grazie ancora

  10. #10
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Sono riuscito ad installare tutto. :mavieni:
    Nella Component Palette adesso c'è una nuova "linguetta" graphics32 con 6 componenti nuovi:

    PaintBox32
    Image32
    RangeBar
    GaugeBar
    ImgView32

    adesso prendo gli esempi e vediamo se riesco a capire qualcosa.
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.