Antwort schreiben  Thema schreiben 
Verfasser Nachricht
mipez
Halbprofi
***


Beiträge: 190
Gruppe: User
Registriert seit: Dec 2010

Status: Offline
Danke erhalten: 88
Beitrag: #1
xPSP  SetBackColor & Schleifenproblem

Bis jetzt wurde mir hier ja sehr gut geholfen, tolle Commi ;D

Spoiler: (anzeigen)
1. Problem:
Manchmal wird der gesamte Hintergrund eingefärbt, manchmal nicht.

2. Problem:
Nach dem 1. Buchstaben hört es auf, also es funzt alles, nur die Funktion für den X Button nicht.

Und ich hab keine For Schleife genommen, weil ich immer nur 1 Buchstaben auf Knopfdruck angezeigt haben will.

Ach ja, gibt es in den includes vom pspsdk schon eine vordefinierte Random Funktion?

Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2011 12:58 von mipez.

18.02.2011 12:52
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
James_Cutter
TeamCheyTac
*****


Beiträge: 1.084
Gruppe: User
Registriert seit: Jul 2009

Status: Offline
Danke erhalten: 1055
Beitrag: #2
xPSP  RE: SetBackColor & Schleifenproblem

PHP-Code:
int main() {

pspDebugScreenInit();
SetupCallbacks();
int i=0;
int chars[]={66,65,75,65};
int posx[]={25,50,30,208};
int posy[]={20,65,75,65};
SceCtrlData pad;

pspDebugScreenSetBackColor(0xffff96ff);

printf("Use [X] to draw a char, [O] to exit");
while(
1) {
//hier fehlt noch eine schleife
   
while(i<4)
     {
        
sceCtrlReadBufferPositive(&amp;pad1);
        if(
pad.Buttons &ampPSP_CTRL_CROSS){
    
        
pspDebugScreenPutChar(posx[i], posy[i], 0xffffffc8chars[i]);
        
sceKernelDelayThread250 1000 ); 
        
i++;
        if(
4){
            
i=0;
        }
      }
    }

    if(
pad.Buttons &ampPSP_CTRL_CIRCLE){
    
sceKernelExitGame();

    }




Kein Support mehr per PM

18.02.2011 13:50
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Dr. Soup
Durchstarter
**


Beiträge: 58
Gruppe: User
Registriert seit: Mar 2010

Status: Offline
Danke erhalten: 70
Beitrag: #3
xPSP  RE: SetBackColor & Schleifenproblem

Wenn du den Code genau so benutzt wie du ihn hier gepostet hast, solltest du auf dein IF-Statement achten. Ich denke, du wolltest den logischen gleich-Operatoren (==) benutzen; mit deinem jetzigen Code jedoch, deklarierst du 'i' direkt nach dem Inkrement mit dem Wert 4, wodurch der in den geschweiften Klammern geschriebene Code immer ausgeführt wird (weil 4 größer 0 ist und damit "wahr" ist) und i den Wert 0 hat.

Als PRNG kannst du Mersenne Twister benutzen (mt19937), wozu du psputils.h inkludieren musst.


Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2011 13:55 von Dr. Soup.

18.02.2011 13:54
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mipez
Halbprofi
***


Beiträge: 190
Gruppe: User
Registriert seit: Dec 2010

Status: Offline
Danke erhalten: 88
Beitrag: #4
xPSP  RE: SetBackColor & Schleifenproblem

Spoiler: (anzeigen)
Jetzt funzt alles soweit, nur füllt sich der komplette Hintergrund erst nach dem die 2. If Abfrage 1x durch ist, vorher ist nur der Hintergrund der Schrift gefüllt.

18.02.2011 14:13
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Ceikor
Ex-Developer
****


Beiträge: 581
Gruppe: User
Registriert seit: Dec 2008

Status: Abwesend
Danke erhalten: 701
Beitrag: #5
xPSP  RE: SetBackColor & Schleifenproblem

EDIT: Hmmm verstehe dein problem nicht^^

EDIT: Meinst du nachdem diese durch ist?

Code:
if(i == 4)
{
      i=0;
      pspDebugScreenClear();
}

Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2011 15:09 von Ceikor.

18.02.2011 14:51
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mipez
Halbprofi
***


Beiträge: 190
Gruppe: User
Registriert seit: Dec 2010

Status: Offline
Danke erhalten: 88
Beitrag: #6
xPSP  RE: SetBackColor & Schleifenproblem

Genau.
Erst danach füllt sich der gesamt Hintergrund.

18.02.2011 15:09
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Ceikor
Ex-Developer
****


Beiträge: 581
Gruppe: User
Registriert seit: Dec 2008

Status: Abwesend
Danke erhalten: 701
Beitrag: #7
RE: SetBackColor & Schleifenproblem

Und was sagt dir das ganze? Wenn der Screen erst nach einen bestimmten befehl sich komplett färbt?Wink Das ganze hättest du auch in der Header file nachlesen können.
Sry wenn ich dir nicht gleich die Antwort poste aber ein bischen nachdenken hilft Wink

EDIT:

Code:
/**
  * Set the background color for the text
  * @note To reset the entire screens bg colour you need to call pspDebugScreenClear
  *
  * @param color - A 32bit RGB colour
  */
void pspDebugScreenSetBackColor(u32 color);

Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2011 15:17 von Ceikor.

18.02.2011 15:11
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mipez
Halbprofi
***


Beiträge: 190
Gruppe: User
Registriert seit: Dec 2010

Status: Offline
Danke erhalten: 88
Beitrag: #8
xPSP  RE: SetBackColor & Schleifenproblem

Recht merkwürdig, da bei mir nur der Befehl und die Parameter dastehen oô

Aber trotzdem danke.

18.02.2011 16:08
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #9
xPSP  RE: SetBackColor & Schleifenproblem

mipez :
Recht merkwürdig, da bei mir nur der Befehl und die Parameter dastehen oô

Aber trotzdem danke.


Hä? Wo hast du denn nachgeschaut?

18.02.2011 16:09
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
PSP_Lord
Durchstarter
**


Beiträge: 87
Gruppe: User
Registriert seit: Sep 2010

Status: Abwesend
Danke erhalten: 133
Beitrag: #10
RE: SetBackColor & Schleifenproblem

Warum benutzen eigentlich viele Leute den Integer Typ für Variablen, deren Werte niemals 255 bzw. -256 übertreffen?

z.B.die Variable int i im obigen code, diese Variable hält maximal fünf verschiedene Werte, {0 - 4}.
Da ist es doch viel sinnvoller, die so zu deklarieren:

unsigned char i; //i kann folgende Werte annehmen (0 - 255). Wer auch negative Zahlen darstellen möchte macht:

char i; //i kann folgende Werte annehmen (-128 bis 127)

Dies spart einfach die Menge des zu reservierenden Speichers und macht den Code professioneller.

Außerdem musst du vor die letzte geschweifte Klammer noch z.B.
return 0; setzen. Deine Methode hat als Rückgabewert einen integer Wert (int main), so dass du auch einen integer Wert wieder returnen musst.


http://ps4dev.net.tc/ - the new german psp development site. Check it out!
18.02.2011 16:43
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang