Oppure

Loading
03/01/11 21:46
genni_96
ho scritto un gioco con le openg e le sdl e l'ho testato sul mio computer con xp a 32 bit

purtroppo funziona solo sui pc con sistema operativo a 32bit
Sapete come farlo funzionare anche su sitemi a 64bit??
aaa
04/01/11 10:51
TheKaneB
Non ha molto senso.... se funziona su XP a 32bit, funzionerà anche su XP a 64 bit.

Dacci qualche dettaglio in più, ad esempio inizia a dire che compilatore hai usato (nome e versione esatta), quali versioni (nome e versione esatta) di Windows hai testato.
Poi serve anche sapere che cosa intendi dire con "funziona" e "non funziona". Che succede? Crasha? Entra in loop? Si vede male?

Hai provato a fare il debugging su altri sistemi, per vedere eventualmente quali sono i punti critici che lo fanno crashare? Di solito capita perchè magari hai usato una vecchia API di Windows definita come deprecata dalle MSDN, e che è stata rimossa nelle ultime versioni (ma questo spiegherebbe un'eventuale incompatibilità con Vista e 7, non con XP 64).

Insomma... spremiti un po' di più con i dettagli.
Ciao!
aaa
04/01/11 11:41
se l'hai fatto con le ai win (tipo come fa nehe) nella funzione che crea la finestra c'è un int che indica i bit, che di solito è a 16 o 32.
se l'hai fatto così controlla!

anche se mi sembra che i programmi a 32 vadano sui 64, sbaglio?
io ho sempre usato computer con 32, quindi non so...:D
04/01/11 12:59
genni_96
ho risolto, il problema era la risoluzione del gioco che non era supportata dal computer a 64bit
cambiando la risoluzione funziana.
Ora pero ho un'altro problema, il gioco va velocissimo su computer con prestazioni maggiori, invece sul mio e su altri con caratteristiche simili ha la velocità giusta
Come posso regolare il framerate per avere la stessa velocità su tutti i pc?
aaa
04/01/11 13:02
ho avuto un problema simile una volta...
mettendo fullscreen andava lento e a finestra veloce...
poi per caso è tornato ad andare tutto bene...
adesso guardo:k::k:
04/01/11 14:11
TheKaneB
devi implementare un sistema per far si che la velocità del gioco sia indipendente dal numero di frame.

Mi spiego meglio:

se devo muovere un oggetto da A a B, se lo faccio spostare di 1 pixel ad ogni frame, avrò uno spostamento che "dipende" dalla velocità del computer. Se ad esempio il PC fa 50fps, si muoverà di 50 pixel al secondo. Se uso un computer molto più veloce, diciamo 300fps, avrò uno spostamento di 300 pixel in un solo secono, il che è inaccettabile.

Il metodo giusto consiste nel calcolare le animazioni usando come sistema di riferimento non i frames, ma il tempo reale (preso dal clock di sistema).

Quindi agisco così:
- calcolo quanto è durato il frame precedente usando un timer, diciamo che è durato dT secondi (potrebbe essere qualcosa come 0,1 secondi ad esempio)
- calcolo la quantità di spostamento da applicare all'oggetto scalando la sua velocità in questo modo: spostamento = velocità * dT. Così ottengo il numero di pixel (o altra unità di misura) da spostare nel singolo frame. Se voglio ad esempio spostarlo di 50 pixel al secondo, risulterà una cosa tipo: 50 px/s * 0,1s = 5 pixel. Se il computer è molto veloce avrò qualcosa come 50 px/s * 0,05 s (suppongo un computer il doppio più veloce di prima) = 2,5 pixel (ottengo uno spostamento dimezzato, che quindi compensa la velocità del computer).
- Applico lo spostamento calcolato

Su google troverai tonnellate di materiale, ma almeno adesso sai qual è la tecnica base :-)
aaa
04/01/11 14:38
sarà utile anche a me!
:k::k:
grazie!!
04/01/11 22:22
genni_96
Grazie,
ci lavorerò su usando il metodo che mi hai spiegato.
Ora ho una base da cui partire
aaa