17.08.2011, 13:41
hi,
ich hab jetzt mit c für die psp angefangen.
vorher habe ich nur in c++ mfc-anwendungen geschrieben/gestaltet.
ich dachte mir ich mach mal ein menu nach der anleitung von psp-hilfe.
hier ist der code (ich hab schon etwas rumprobiert...):
probleme habe ich mit diesem teil:
ich hab jetzt mit c für die psp angefangen.
vorher habe ich nur in c++ mfc-anwendungen geschrieben/gestaltet.
ich dachte mir ich mach mal ein menu nach der anleitung von psp-hilfe.
hier ist der code (ich hab schon etwas rumprobiert...):
Spoiler: (anzeigen)
Code:
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
PSP_MODULE_INFO("test",0,1,1);
static int running = 1;
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;
}
int aktivmenu = 0;
int maxmenu = 1;
char menu[2][15]={"Bild Anzeigen", "Spiel beenden"};
void printmenu()
{
int i;
for(i=0; i<maxmenu+1; i++)
{
if(aktivmenu == i)
{
pspDebugScreenPrintf("->%s\n", menu[i]);
}
else
{
pspDebugScreenPrintf(" %s\n",menu[i]);
}
}
}
int main()
{
pspDebugScreenInit();
SetupCallbacks();
SceCtrlData pad;
int button = 0;
printmenu();
while(running)
{
sceCtrlReadBufferPositive(&pad, 1);
if((pad.Buttons & PSP_CTRL_DOWN) && (aktivmenu != maxmenu) && (button == 0))
{
aktivmenu++;
pspDebugScreenClear();
printmenu();
}
if((pad.Buttons & PSP_CTRL_UP) && (aktivmenu !=0) && (button == 0))
{
aktivmenu-=1;
pspDebugScreenClear();
printmenu();
}
if((pad.Buttons & PSP_CTRL_UP) && (aktivmenu !=0) && (button == 0))
{
aktivmenu-=1;
pspDebugScreenClear();
printmenu();
}
if((aktivmenu == 1) && (pad.Buttons & PSP_CTRL_CROSS))
{
sceKernelExitGame();
}
if((aktivmenu == 0) && (pad.Buttons & PSP_CTRL_CROSS))
{
pspDebugScreenClear();
pspDebugScreenPrintf("Wenn du das liest hat es geklappt");
sceKernelSleepThread();
if(pad.Buttons & PSP_CTRL_CIRCLE)
{
pspDebugScreenClear();
printmenu();
}
}
}
return 0;
}
Code:
if((aktivmenu == 0) && (pad.Buttons & PSP_CTRL_CROSS))
{
pspDebugScreenClear();
pspDebugScreenPrintf("Wenn du das liest hat es geklappt");
sceKernelSleepThread();
if(pad.Buttons & PSP_CTRL_CIRCLE)
{
pspDebugScreenClear();
printmenu();
}
}
wenn die schrift angezeigt wird soll man mit zurück ins menu kommen, doch da passiert nichts...
es wäre schön wenn mir einer helfen kann der auch bescheid weiß(!!!)
lg