classi - 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) +---- Forum: DarkGDK (https://www.making-videogames.net/giochi/Forum-DarkGDK) +---- Discussione: classi (/thread-classi) |
classi - Zapetino - 09-01-2011 riprendendo questa discussione ho riscontrato dei problemi nella programmazione object oriented con il c++ e darkGDK +OOGDK (info) quando programmo in c++ senza librerie aggiuntive tutto bene : riesco a dichiarare classi metodi etc. etc. ma quando tento di creare una classe quando programmo con darkGDK e OOGDK e dichiaro una classe mi da i più strani degli errori. chi mi puo aiutare who can help me?? XDXD RE: classi - Sweet Vengeance - 09-01-2011 Che tipo di errori? Edit Sinceramente io utilizzerei quello normale e poi lo strutturerei in un'altro modo. Cioè.. se devi fare un gioco puoi orientarlo con le classi anche in un'altro modo. Ad esempio puoi semplicemente creare una classe personaggio che è mettergli un'attributo "objID" che indica quale oggetto sfruttare di DGDK Tanto.. o scrivi (in DarkBasicPro te lo scrivo che in DGDK): Codice: position object objID,x#,y#,z# Codice: object.position.x = x# Alla fine sono sempre istruzioni racchiude nel metodo di una classe e quindi non ti fà nessuna differenza RE: classi - Zapetino - 09-01-2011 se voglio fare come dici tu devo per forza dichiarare una classe(se ho capito bene) in particolare gli errori non me ne da compilando ma sopratutto non mi "trova" i metodi della classe che sto usando,per esempio: Codice: ho la classe "player" e nel main scrivo: questo mi succede solo usando darkGDK RE: classi - Sweet Vengeance - 10-01-2011 (09-01-2011, 09:54 PM)zapetino Ha scritto: se voglio fare come dici tu devo per forza dichiarare una classe(se ho capito bene) Non sò aiutarti allora. Ad ogni modo dichiarando la classe come ti dicevo io prima ti verrebbe molto più simplice l'organizzazione del codice e soprattutto l'aggiunta di altro codice, poi come vuoi tu RE: classi - Zapetino - 10-01-2011 altri aiuti ?? XD RE: classi - steve - 12-01-2011 (09-01-2011, 09:54 PM)zapetino Ha scritto: se voglio fare come dici tu devo per forza dichiarare una classe(se ho capito bene) (Se la classe non l'hai scritta tu è probabile che inizi con la lettera maiuscola, occhio che spesso si fanno errori per stupidate simili xD ) Sei sicuro di aver incluso tutti gli header necessari? Inoltre verifica che il compilatore riconosce i vari percorsi. Basta fare una prova del tipo: Codice PHP: #include // vari file da includere Se ci sono molti include o si lavora con classi abbastanza grandi (e sicuramente è il tuo caso) visual studio impiega un po' di tempo a caricare tutto. Nella versione 2010 c'è una barra in basso che segna se è pronto o se sta caricando. Alcune volte capita anche a me che intellisense non carica. Solitamente mi basta lanciare una compilazione, chiudere e riaprire il programma oppure premere un po' di volte alt+destra (tasto rapido per i suggerimenti di intellisense). RE: classi - Zapetino - 12-01-2011 si le classi le creo io per esempio creo un nuovo file .h e scrivo per esempio : Codice: #include "darkGdk.h" poi sia includendo e non il file h nel main del gioco quando scrivo appunto : player:: ......non mi esce nulla !!!! RE: classi - steve - 12-01-2011 Ma hai provato a lanciare una compilazione o a premere ripetutamente alt+destra dopo player:: ? Probabilmente l'intellisense prima di caricarti il tuo header player.h carica darkgdk.h (e ci mette un po' di tempo per caricare tutto). Controlla anche se nella barra sotto (non so se c'è anche in vs2008) c'è scritto "Pronto" o segna qualche caricamento. Comunque verifica se è un problema dell'intellisense oppure c'è proprio un errore di sintassi, scrivi un abbozzo di programma senza usare l'aiuto dell'autocompletamento e vedi se te lo compila senza errori. RE: classi - Zapetino - 12-01-2011 provato e finalmente mi è uscito il pop up però compilando mi da questi errori: Codice: ------ Inizio compilazione: Progetto: prova OOP, Configurazione: Debug Win32 ------ ecco il mio Main Codice: #include "DarkGDK.h" ed il mio player.h: Codice: class player RE: classi - steve - 12-01-2011 Allora...
Poi ti consiglio di mettere un costruttore e un distruttore nella tua classe. Forse non ti servirà usarle, visto che questo è il primo programma che fai con darkgdk e oop, però è buona norma metterli sempre (anche se il compilatore dovrebbe assegnarne uno di default in caso non li hai messi tu. Codice: class player RE: classi - Zapetino - 12-01-2011 ma quanto sono n<bbo io in confronto a te XD almeno la virgola me la potevo risparmiare.....anche distratto sono XD allora ho modificato il main così : Codice: #include "DarkGDK.h" e ora gli errori sono questi: Codice: ------ Inizio compilazione: Progetto: prova OOP, Configurazione: Debug Win32 ------ risolto ^^ ecco il main : Codice: #include "DarkGDK.h" RE: classi - steve - 12-01-2011 Ecco, quelli che hai postato ora sono i classici errori di librerie esterne... con il passare del tempo imparerai ad odiarli XD (ricordo con ogre, per sistemarli ho fatto tanti di quei casini). Leggendo su google ho visto che avevi ragione tu, darkgdk non usa la funzione main() (con la "m" minuscola, non maiuscola) come nel c++ normale, usa void DarkGDK(). Prova così (è probabile che l'errore persista, ma forse così è più giusto il main): Codice: #include "DarkGDK.h" Comunque abituati all'idea di trovarlo spesso questo tipo di errore xD e il più delle volte non si risolve facilmente... RE: classi - Zapetino - 12-01-2011 grazie avevo gia risolto XD e sinceramente non so neanche come XDXD |