KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Auf Knopfdruck sprite um 90° drehen?
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi,

bin grad dabei ein Spiel zu schreiben.

Das Laufen läuft schon, jedoch möchte ich, dass sich das Sprite (die Grafik) sich beim Drücken der X Taste um 90° gegen den Uhrzeigersinn dreht.

Ich benutze die OSLIB und C.

Wie stelle ich das nun an Big Grin?


Lg


Edit:

Habe nun folgendes Code konstrukt:

Code:
    int sperre = 0;
    
    if (osl_keys->held.cross && sperre == 0) {
    tank->angle -= 90;
    sperre = 1;
    
    if (!osl_keys->held.cross) sperre = 0;


Jedoch dreht er sich, wenn ich X gerdrückt halte ca. 50000 Mal und das möchte ich beheben.
Ich habe schon versucht eine "Sperre" einzubauen, es ist mir jedoch misslungen.

Wie kann ich so eine Sperre einbauen, dass es sich auch wenn ich X gedrückt halte es sich nur einmal dreht?

Des Weiteren wollte ich fragen, wie ich es mache, dass sich das Sprite nicht aus dem Bild herausbewegt, wenn es gedreht wurde.Im normalen Zustand funktioniert das jedoch nicht im gedrehten.


Danke im Vo[/code]rraus

Niemand kann / will mir helfen?
*push*
Jedenfalls hast du schonmal im Code eine Klammer vergessen.

Code:
int sperre = 0;
    
if (osl_keys->held.cross && sperre == 0) {
    tank->angle -= 90;
    sperre = 1;

} //Diese hier
    
if (!osl_keys->held.cross) sperre = 0;


Wenn du die Klammer an anderer Stelle schließt, musst du auf jeden fall die zweit if schleife daraus kopieren, sonst widersprechen sich die Bedingungen.

Code:
if (osl_keys->held.cross && sperre == 0) { // Hier muss X gedrüct sein
      
      if (!osl_keys->held.cross) sperre = 0; // Hier darf X nicht gedrückt sein,
                                                   // Der Code wird aber nur ausgeführt wenn X gedrückt wird.

}


Deswegen wird Sperre nie wieder zurück gesetzt, jedenfalls theoretisch.
Aber weil ich mich mit der OsLib und generell mit der PSP nicht beschäftige, kann ich dir wenn das es nicht war nicht weiterhelfen.

EDIT:
Tank Wars scheint voranzuschreiten, die Fragen werden spezieller. Smile
Wie weit bist du denn schon

z.Z. gehen folgende Dinge:
> Panzer bewegen
> Panzer drehen

Mehr eigentlich noch nicht xD.

lg

PS: Das mit der if Klammer hat das Problem nicht geloest ...

lars96 :
z.Z. gehen folgende Dinge:
> Panzer bewegen
> Panzer drehen

Mehr eigentlich noch nicht xD.


Was warscheinlich daran liegt, dass du dich beim kleinsten Problem gleich hinsetzt, einen neuen Thread auf machst und hoffst, dass dir jemand die Lösung vorkaut.
Genau wie in dem Thread hier -> http://www.pspking.de/forum/showthread.php?tid=35574&pid=408316

Das sich dein Code in deinem neuesten Thread hier -> http://www.pspking.de/forum/showthread.php?tid=36078 , ausser durch den Inhalt dieses und des oben gennanten Threads, bis jetzt kaum verändert hat, untermauert meine Theorie nur.

Wie währe es, wenn du mal ein wenig mehr Eigeninitiative zeigst und anfängst deinen Code selbst zu debuggen ?

Andernfalls kannst du wohl kaum davon reden das "Du" gerade dabei bist ein Spiel zu schreiben.

lars96 :
... bin grad dabei ein Spiel zu schreiben. ...

Referenz-URLs