Inkrement spinnt - Druckversion +- KINGx - Das inoffizielle PlayStation Forum & News Portal (http://www.kingx.de/forum) +-- Forum: PS Vita / PSP (/forumdisplay.php?fid=1) +--- Forum: Homebrew (/forumdisplay.php?fid=8) +---- Forum: Development (/forumdisplay.php?fid=34) +---- Thema: Inkrement spinnt (/showthread.php?tid=35383) |
Inkrement spinnt - mipez - 17.02.2011 17:50 Ich hab mal versucht den Counter aus den Tuts abzuwandeln... prinzipiell funktioniert er auch, nur ist der Startwert nicht 0 und das Inkrement nicht 1 oô Woran könnte es liegen? MfG. mipez Code: #include <pspkernel.h>
RE: Inkrement spinnt - Chaosduckman - 17.02.2011 17:57 Einfach die Code Zeile: Code: number+=1;
Mit dieser Code: ++number
tauschen und es sollte gehen =)
RE: Inkrement spinnt - mipez - 17.02.2011 17:59 Chaosduckman : Einfach die Code Zeile:
Code: number+=1;
Mit dieser Code: ++number tauschen und es sollte gehen =)
RE: Inkrement spinnt - D3lta - 17.02.2011 18:03 Du solltest am Ende der If-Anweisung noch einen Befehl zum warten, bis die losgelassen wurde Code: while(pad.Buttons & PSP_CTRL_CROSS)
mfg D3lta
RE: Inkrement spinnt - Chaosduckman - 17.02.2011 18:12 Ich habe mal sauber gemacht. Dann verschwinden meist die Fehler Code: int main( void )
RE: Inkrement spinnt - Rroia - 17.02.2011 18:21 Ok, der aufgeräumte Code sieht eigentlich nicht schlecht aus, nur eine Stelle würde ich noch verbessern Code: if ( !(pad.Buttons & PSP_CTRL_CROSS ))
RE: Inkrement spinnt - Ceikor - 17.02.2011 18:43 Nicht ganz mein lieber der Code war schon ok, den wenn nur 1 befehl unter oder hinter einer if anweisung steht benötigt man keine {} Un was du da jetzt gemacht hast bedeutet das die Pause nur nach drücken von X gemacht wird RE: Inkrement spinnt - mipez - 17.02.2011 18:45 Hm das mit dem Delay hat geklappt: Spoiler: (anzeigen) RE: Inkrement spinnt - HacKmaN - 17.02.2011 19:36 Wieso schreiben eigentlich die meisten die geschweiften Klammern direkt ohne Neuzeile? Ich finde, dass Code: while(...)
Code: while(...) {
RE: Inkrement spinnt - D3lta - 17.02.2011 19:39 Ich finde es auch ohne Neuzeile übersichtlich genug, doch das ist Ansichtssache, außerdem geht es ohne doppelte Newlines schneller und der Source wird nicht so lang... mfg D3lta RE: Inkrement spinnt - HacKmaN - 17.02.2011 19:43 D3lta : Ich finde es auch ohne Neuzeile übersichtlich genug, doch das ist Ansichtssache, außerdem geht es ohne doppelte Newlines schneller und der Source wird nicht so lang...
mfg D3lta
RE: Inkrement spinnt - dark-awesome - 17.02.2011 20:03 JA HackmaN da hast du zwar recht aber genauso wie es Links und Rechtshänder gibt die alle unterschiedlich schreiben gibt es halt auch bei C unterschiedliche Schreibweisen Ich sag nur jeder wie er es Mag Hauptsache es ist für einen Lesbar ;P Ich Persönlich habe es so gelernt Code: if (..) {
Naja ist halt alles Ansichtssache RE: Inkrement spinnt - HacKmaN - 17.02.2011 20:10 Naja, bei mir ists ne Mischung aus "neuem" und "altem" Stiel... ich schreib zwar alles mit Neuzeile und packe niemals mehrere Funktionen in eine Zeile (wie es heutzutage meistens gemacht wird), mache aber immer noch die (inzwischen nicht mehr nötigen) Semikolons ans Ende eines Blocks (früher Standart), also z.B. Code: if(...)
Code: /*
RE: Inkrement spinnt - Rroia - 17.02.2011 20:29 Ceikor : Nicht ganz mein lieber der Code war schon ok, den wenn nur 1 befehl unter oder hinter einer if anweisung steht benötigt man keine {}
Un was du da jetzt gemacht hast bedeutet das die Pause nur nach drücken von X gemacht wird
Code: if (x==1) {
RE: Inkrement spinnt - anmabagima - 18.02.2011 09:07 Hi, dein Problem ist, dass bei jedem Schleifendurchlauf der Button-Wert gelesen wird....das heißt dass du den X-Knopf gar nicht schnell genug loslassen kannst, dass er nur um 1 hochzählt.... Eine sehr bewährte Methode um das zu umgehen ist folgende: [code] SceCtrlData pad, lastPad; while (1){ sceCtrlReadBufferPositive( &pad, 1 ); if (pad.buttons != lastPad.buttons){ if (pad.buttons & PSP_CTRL_CROSS){ RE: Inkrement spinnt - anmabagima - 18.02.2011 09:10 Hi, dein Problem ist, dass bei jedem Schleifendurchlauf der Button-Wert gelesen wird....das heißt dass du den X-Knopf gar nicht schnell genug loslassen kannst, dass er nur um 1 hochzählt.... Eine sehr bewährte Methode um das zu umgehen ist folgende: Code: SceCtrlData pad, lastPad;
du musst dir also den letzten "Knopf merken" sobald du X loslässt steht der tastendruck nicht mehr in "lastPad" drin und somit erhälst du beim neuen drücken auf X wieder ein increment... |