|
| Autore | Messaggio |
|---|
FrEdDy
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 08.03.10
 | Oggetto: [GUIDA]Input tasti in C Ven 12 Mar 2010, 13:29 | |
| Ok,eccovi un altra guida sul linguaggio C,stavolta vi inegnerò a collegare i tasti a delle determinate azioni;cominciamo dal preprocessore:
| Codice: | #include <pspkernel.h> #include <pspdebug.h> #include <pspctrl.h> //pspctrl.h è la libreria dei tasti #define printf pspDebugScreenPrintf PSP_MODULE_INFO("Input Tasti",1,1,0);
|
Di nuovo c'è solo che abbiamo aggiunto la lib pspctrl.h che ci permetterà di usare i tasti;proseguiamo...
| Codice: | int main() { pspDebugScreenInit(); pspDebugScreenClear(); SetupCallbacks(); SceCtrlData pad; |
che cos'è SceCtrlData pad?Semplice:assegnamo al termine "pad" il valore di SceCtrlData,cioè gli permettiamo di ricevere gli input dei tasti;andiamo avanti...
Questa è del tutto nuova;per inserire gli input dei tasti,infatti,dovremo creare un loop,per farlo usiamo while,ora cosa ci fa quell'uno accanto a while?Bè quell'uno stabilisce che tutte le informazioni presenti nel loop creato da while devono essere comparate a 1,se sono uguali a 1 vengono eseguite altrimenti si reinizia il ciclo;proseguiamo...
| Codice: | sceCtrlPeekBufferPositive(&pad, 1); | (codice corretto da PSPatrick)
ma che roba è?Bè con questo comando stabiliamo che ogni volta che si riavvia il ciclo (qualche migliaio di volte al secondo),le informazioni dei tasti premuti vengono inviati alla nostra variabile "pad" (che sta per SceCtrlData);proseguiamo...
| Codice: | if (pad.Buttons & PSP_CTRL_UP) { printf("Hai premuto su\n"); } |
bè semplice no?Stabiliamo che se (if) il bottone (pad.Buttons) o tasto direzionale,come volete chiamarlo,su (PSP_CTRL_UP) viene premuto,la PSP stampa a schermo la frase contenuta nel printf;ora,anche qui c'è un caso da analizzare:
| Codice: | if (pad.Buttons & PSP_CTRL_RIGHT) { printf("Hai premuto destra\n"); } |
ma non sei mai andato daccapo,non funzionerà mai!Direte voi...e io vi rispondo dicendo di no:quando il codice è corto può essere inserito in un solo rigo,ma non ne vale la pena quando è lungo,perchè ci complichiamo solo la vita andiamo avanti...
Perchè ci sono due parentesi graffe?Semplice:la prima chiude il loop e la seconda l'int main.Ora inseriamo gli exit callback:
| Codice: | int exit_callback(int arg1, int arg2, void *common) { sceKernelExitGame(); return 0; }
int CallbackThread(SceSize args, void *argp) { int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL); sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0; }
int SetupCallbacks(void) { int thid = 0;
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0); if(thid >= 0) { sceKernelStartThread(thid, 0, 0); }
return thid; } |
E ora il Makefile:
| Codice: | TARGET = tasti OBJS = main.o CFLAGS = -O2 -G0 -Wall CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS) EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = Input Tasti PSPSDK=$(shell psp-config --pspsdk-path) include $(PSPSDK)/lib/build.mak |
Ultima modifica di PSPatrick il Sab 13 Mar 2010, 00:55, modificato 1 volta (Ragione : CODICE CORRETTO ;)) |
|
 | |
PSPatrick
 il genio di ConsoleUser

Messaggi: 366 Reputazione: 8 Data d'iscrizione: 21.09.09 Console: PSP 2004, Wii, PC Portatile FW PSP: 5.50 GEN-D2 FW Wii: 4.2E con Softmod OS PC: Windows Seven (7) Gioco Pref.: MotorStorm Arctic Edge
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 13:40 | |
| help! non funziona il compilatore.. escono sempre errori... comqunque ottima guida!  __________________________ [Devi essere iscritto e connesso per vedere questo link] Le mie userbars [Devi essere iscritto e connesso per vedere questo link] [Devi essere iscritto e connesso per vedere questa immagine] [Devi essere iscritto e connesso per vedere questa immagine] |
|
 | |
FrEdDy
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 08.03.10
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 13:44 | |
| | PSPatrick ha scritto: | help! non funziona il compilatore.. escono sempre errori... comqunque ottima guida!  |
Per il problema del compilatore magari contattami su MSN,perchè mi sembra strano non funzioni...io ho fatto la guida in base al mio,e il mio funziona;forse è un problema con Windows 7 |
|
 | |
PSPatrick
 il genio di ConsoleUser

Messaggi: 366 Reputazione: 8 Data d'iscrizione: 21.09.09 Console: PSP 2004, Wii, PC Portatile FW PSP: 5.50 GEN-D2 FW Wii: 4.2E con Softmod OS PC: Windows Seven (7) Gioco Pref.: MotorStorm Arctic Edge
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 13:52 | |
| no, credo sia la configrazione del compilatore di Netbeans... mi dici come deve essere esattamente? __________________________ [Devi essere iscritto e connesso per vedere questo link] Le mie userbars [Devi essere iscritto e connesso per vedere questo link] [Devi essere iscritto e connesso per vedere questa immagine] [Devi essere iscritto e connesso per vedere questa immagine] |
|
 | |
FrEdDy
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 08.03.10
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 13:58 | |
| | PSPatrick ha scritto: | | no, credo sia la configrazione del compilatore di Netbeans... mi dici come deve essere esattamente? |
Allora,te installi il PSPSDK no?Poi installi NetBeans,vai su Tools,poi "Options" e vai alla scheda C/C++;vai all'opzione PSPSDK e imposta i seguenti valori così: Family:MinGW Base directory:discofisso/pspsdk/bin C compiler:discofisso/pspsdk/bin/psp-gcc.exe C ++ compiler:discofisso/pspsdk/bi/psp-g++.exe poi lasci tutto vuoto fino a: make command:discofisso/pspsdk/bin/make.exe debugger command:discofisso/pspsdk/bin/psp-gdb.exe
E ricordati di rinominare psp-g++.exe psp-gdb.exe e psp-gcc.exe che si trovano nella cartella discofisso/pspsdk/ in g++.exe gdb.exe e gcc.exe ATTENZIONE!Non devi confonderli con quelli che si trovano nella cartella discofisso/pspsdk/bin ok? |
|
 | |
PSPatrick
 il genio di ConsoleUser

Messaggi: 366 Reputazione: 8 Data d'iscrizione: 21.09.09 Console: PSP 2004, Wii, PC Portatile FW PSP: 5.50 GEN-D2 FW Wii: 4.2E con Softmod OS PC: Windows Seven (7) Gioco Pref.: MotorStorm Arctic Edge
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 14:02 | |
| il fatto è che in C:/pspsdk non c'è nessun .exe .... ci sono solo in /bin/ ... __________________________ [Devi essere iscritto e connesso per vedere questo link] Le mie userbars [Devi essere iscritto e connesso per vedere questo link] [Devi essere iscritto e connesso per vedere questa immagine] [Devi essere iscritto e connesso per vedere questa immagine] |
|
 | |
FrEdDy
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 08.03.10
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 14:05 | |
| | PSPatrick ha scritto: | | il fatto è che in C:/pspsdk non c'è nessun .exe .... ci sono solo in /bin/ ... |
Questa mi giunge nuova... [Devi essere iscritto e connesso per vedere questo link] Prova a mettere i gdb,gcc e g++ dalla cartella bin in c:/pspsdk rinominandoli come ho detto  |
|
 | |
psphakerwarrior
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 11.03.10
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 17:43 | |
| | PSPatrick ha scritto: | | il fatto è che in C:/pspsdk non c'è nessun .exe .... ci sono solo in /bin/ ... |
patrick scrivi l'errore che ti da |
|
 | |
PSPatrick
 il genio di ConsoleUser

Messaggi: 366 Reputazione: 8 Data d'iscrizione: 21.09.09 Console: PSP 2004, Wii, PC Portatile FW PSP: 5.50 GEN-D2 FW Wii: 4.2E con Softmod OS PC: Windows Seven (7) Gioco Pref.: MotorStorm Arctic Edge
 | Oggetto: Re: [GUIDA]Input tasti in C Ven 12 Mar 2010, 17:56 | |
| fermi tutti ora funziona c'era un errore che ho corretto da solo... nella guida c'era un errore mancava il ; dopo sceCtrlPeekBufferPositive(&pad, 1) doveva essere cosi sceCtrlPeekBufferPositive(&pad, 1); HO CORRETTO IO LA GUIDA __________________________ [Devi essere iscritto e connesso per vedere questo link] Le mie userbars [Devi essere iscritto e connesso per vedere questo link] [Devi essere iscritto e connesso per vedere questa immagine] [Devi essere iscritto e connesso per vedere questa immagine] |
|
 | |
psphakerwarrior
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 11.03.10
 | Oggetto: Re: [GUIDA]Input tasti in C Sab 13 Mar 2010, 00:03 | |
| io da domani mi metto sotto col c sia su psp che su pc __________________________ PSP-2000 PB Slim&Lite CF:5.50GEN-D2 GO!Cam PSP-300 1.3MegaPixel+Microphone
[Devi essere iscritto e connesso per vedere questo link] |
|
 | |
FrEdDy
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 08.03.10
 | Oggetto: Re: [GUIDA]Input tasti in C Sab 13 Mar 2010, 17:31 | |
| | PSPatrick ha scritto: | fermi tutti ora funziona c'era un errore che ho corretto da solo... nella guida c'era un errore mancava il ; dopo sceCtrlPeekBufferPositive(&pad, 1) doveva essere cosi sceCtrlPeekBufferPositive(&pad, 1); HO CORRETTO IO LA GUIDA |
scusate...errore di distrazione  |
|
 | |
|