01.07.2011, 23:34
Hey Developer,
Ich habe vor, aus diesem Thread eine Art Code-Sammlung zu machen, um anderen Developern und Neulingen den Einstieg zu erleichtern. Diese Funktionen sind nichts weltbewegendes, aber dennoch können sie sehr nützlich sein.
Wenn ihr einen Code postet, bitte kommentiert ihn ausreichend.
Dann fang ich mal:
Wait for Button:
// -----------------------------------------------------------------------
Ich habe vor, diesen Thread möglichst aktuell zu halten und täglich ein neues Snippet zu posten. Über Anregungen und Wünsche würde ich mich freuen.
Regards
Ich habe vor, aus diesem Thread eine Art Code-Sammlung zu machen, um anderen Developern und Neulingen den Einstieg zu erleichtern. Diese Funktionen sind nichts weltbewegendes, aber dennoch können sie sehr nützlich sein.
Wenn ihr einen Code postet, bitte kommentiert ihn ausreichend.
Dann fang ich mal:
Wait for Button:
Spoiler: (anzeigen)
PHP-Code:
/* includes */
/* ... */
#include <psprtc.h>
/* Wir legen ein Makro für unseren Button an, damit sich der Button später einfacher
* ändern lässt */
#define BUTTON PSP_CTRL_RTRIGGER
/**
* Wartet darauf, dass ein Button gedrückt wird
* @param seconds Anzahl der Sekunden, die gewartet werden soll
*/
void wait( u64 seconds )
{
SceCtrlData pad;
u64 end_tick; /* Der Endzeitpunkt */
u64 current_tick; /* Der Startzeitpunkt */
/* Startzeitpunkt festlegen */
sceRtcGetCurrentTick(¤t_tick);
/* Dem Endzeitpunkt die Anzahl der Sekunden hinzufügen */
sceRtcTickAddSeconds(&end_tick, ¤t_tick, seconds);
/* Button einlesen */
do
{
sceCtrlSetSamplingCycle(0);
sceCtrlSetSamplingMode(1);
/* Button einlesen */
sceCtrlReadBufferPositive(&pad, 1);
/* Startzeitpunkt aktualisieren */
sceRtcGetCurrentTick(¤t_tick);
}
/* Solange Button einlesen, bis der per Makro definierte Button gedrückt wurde
* oder die Zeit abgelaufen ist
*/
while ( !pad.Buttons & BUTTON || sceRtcCompareTick(¤t_tick, &end_tick) < 0);
/* Der Button wurde gedrücktt */
if ( pad.Buttons & BUTTON )
{
/* Funktion aufrufen */
}
}
Aufruf:
wait ( 3 ); /* Wenn 3 Sekunden gewartet werden soll */
Ich habe vor, diesen Thread möglichst aktuell zu halten und täglich ein neues Snippet zu posten. Über Anregungen und Wünsche würde ich mich freuen.
Regards