text: [TUT] Die Graphics.h zur spiele Programmierung verwenden!
  KINGx - Das inoffizielle PlayStation Forum & News Portal / PS Vita / PSP / Homebrew / Development / Dev-Tutorials / [TUT] Die Graphics.h zur spiele Programmierung verwenden!
  ich hab mir heute mal gedacht ein Tutorial zu machen das euch zeigt wie ihr ohne großen Aufwand kleine und große Spiele für die PSP Programmieren könnt.
  Ihr braucht dazu nur den Graphics.h Header
  So als erstes werden wir eine Einfache Bewegung eines "Character" mit Kollision machen:
  So Nummer eins sind die Header und die define:
  #define black 0xFF000000
  Jetzt folgt der Code den man in jedem Homebrew haben sollte und zwar den Callback Code:
  ---- Als nächstest folgt die Main. Und die werde ich versuchen so gut wie möglich zu erklären:
  Als erstes müssen wir den Bildschirm frei geben, die Verwendung von graphics aktivieren und natürlich die Callback mit einbinden und noch die pad variable festlegen die wir später für die Tastenabfrage brauchen ^^
  So nun wollen wir erst mal die Bilder laden, das machen wir so:
  Image* Spieler;
  Image* MainBg;
  Spieler = loadImage("mypfad/spieler.png");
  MainBg = loadImage("mypfad/mainbg.png");
  Das ist eigentlich selbst erklärend.
  Jetzt noch kurz ein paar Variablen:
  Nun folgt das eigentliche Spiel:
  //Ich erhöhe/verniedrige also immer die x Position des Spielers und lösche danach den Bildschirm Inhalt damit sich die Bilder nicht überlagern
  if((pad.Buttons & PSP_CTRL_LEFT) && (x != 0)) { // x != 0 ist die Kollision damit man nicht über den Bildschrim laufen kann
  clearScreen(black);
  if((pad.Buttons & PSP_CTRL_RIGHT) && (x != 450)) { //warum den "x != 450" und nicht 480 weil mein Spieler eine Pixel breite von 30px hat. Also 480 - 30 = 450
  //Die Syntax um ein Bildauszugeben sieht so aus: blitAlphaImageToScreen( XY Position im Bildfeld, Billgröße, Image* , Position auf dem Bildschirm);
  blitAlphaImageToScreen( 0, 0, 480, 272, MainBg, 0, 0);
  //Da ein Code immer von oben nach unten gelesen wird muss der Hintergrund über dem Spieler sein
  blitAlphaImageToScreen( 0, 0, 30, 60, Spieler, x, y);
  //Klatscht dann alles auf den Bildschirm
  Die Makefile:
  TARGET = ebootfiles
  OBJS = main.o graphics.o framebuffer.o
  LIBS = -lpspgu -pspgum -lpng -lz -lm -lmad
  PSP_EBOOT_TITLE = MyFirstGame
  Ich hoffe ich habe alles so gut wie möglich beschrieben. Bin leider nicht so gut in Erklären xD
  Wenn noch fragen sind schreibt hier oder mir eine PM
  Alle Dateien die ihr braucht findet hier hier:
  http://www.psp-programming.com/tutorials/c/lesson04.zip
  Lasse mich auch gerne verbessern ich bin auch nur Anfänger.
  Werde bald noch mehr tuts in die Richtung machen. Vielleicht eins wie man Physik in sein HB mit einbringt. Oder wie man ein Einfaches grafikes Menü macht.
  Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2011 00:30 von dark-awesome.
  Total_freak (Sep-6-2011), D3lta (Sep-5-2011), Brückes (Sep-4-2011), Vault_11 (Sep-1-2011), Neutrosider (Aug-25-2011), crunchop (Aug-25-2011), ~Hook~ (Jul-29-2011)
  RE: [TUT] Die Graphics.h zur spiele Programmierung verwenden!
  Da das TUT immer noch aktuell ist, werde ich dir mal ein Statement ist geben:
  Ich denke mal du hast es versucht anfängerfreundlich zu erklären, ist dir auch glaube ich ganz gelungen.
  Aber ein paar Sachen hast du nicht erklärt, aber ist ja auch dein erstes TUT^^
  Freu mich schon auf das nächste von dir^^
  echo 'Signatur';
  dark-awesome (Aug-25-2011)
  ~Hook~ :
  Ja wenn ein was genauer wissen will kann ich es ihm ja erklären.
  25.08.2011 13:04
  denke werde auch mal die Tage mit Psp Programmierung anfangen hatte mich bis jetzt Gedrückt da cih keine richtige graphic header datei gefunden hab aber durch dein tut hat sich das ja geklärt muss sagen Ähnelt ein bisschen allegro Großen danke an dich
  25.08.2011 13:11
  LOL? ich dachte mir immer ich brauche die libpng um pngs zu laden, und ich habe auch immer neben der graphics.h auch immer die png.h includiert, und jetzt merke ich wegen diesem tut hier grade, dass es auch wunderbar funktioniert, wenn ich die libpng weglasse
  mein problem hat zwar nur indirekt was mit den tutorial hier zu tun, aber wegen dir habe ic das gemerkt, daher danke
  EDIT: machnmal bin ic ein wenig döselig. hab grade gemerkt dass die lippng, da sie in der graphics.c includiert wird, voraussetzung ist um die graphics.c zu benutzen ^^
  Dieser Beitrag wurde zuletzt bearbeitet: 25.08.2011 13:19 von Neutrosider.
  ~Hook~ (Aug-25-2011)
  crunchop :
  Du hast dich vor der PSP-Programmierung gedrückt wegen einer Graphic Header Detei?
  Normalerweiße fängt man erst bei der PSP-Programmierung mit einem einfachen Hello World an und dann z.B. ein Menü, etc...
  Dieser Beitrag wurde zuletzt bearbeitet: 25.08.2011 13:13 von ~Hook~.
  Ja Genau das ! Hab nichts wirklich aktuelles gefunden und hab heir ein allegro Buch liegen also amch ich lieber pc ;D (bin grad dabei jumpandrun (bzw. irgent etwas ähnliches) zu machen Naja das springen und die map hab ich schonmal >.< fehlen nurnoch tausend andere sachen ) Ich denke wenn ichs auf dem pc kann wird es sich recht leicht auf die psp übertragen ;D
  Vault_11
  Danke für das Tut, ist eig. verständlich geschrieben. Nur weiss ich jetzt nicht wo ich die graphics.h herbekommen soll, aber egal. Weisst du zufällig wie ich Bilder auf dem PC darstellen kann? Ich lese jetzt schon seit mehreren Tagen das Buch "C von A bis Z" und verstehe nicht wie ich das bisher gelesene in Programmen anwenden kann.
  01.09.2011 17:00
  Vault_11 :
  Wenn du dir die ersten Kapitel des Buchs durchgelesen hättest, wüsstest du auch wie man kompilliert^^
  Was hat meine Frage bitte mit dem Kompilieren zu tun? Was ich eigentlich meinte ist das ich das gelernte aus dem Buch jetzt iwie praktisch anwenden will, denn ich denke nur so kann man eine Programmiersprache richtig lernen. Stures auswendiglernen oder einfach durchlesen werden dabei nicht viel helfen. Und hättest du dir das Buch durchgelesen würdest du mir sagen können wie man Bilder anzeigen lassen kann
  01.09.2011 18:54
  Was genau muss ich mit den Headerdateien machen die ich von PSP Programming gezogen habe? Immer wenn ich das Programm Kompilieren will zeigt es mir 8 Fehler an und alle 8 Fehler haben was mit der Declaration von iwelchen Konstanten zu tun. Woran liegt das?
  UPDATE: ist aber schon sehr gute Arbeit von dir Stehn wenn du unter deinem Beitrag noch schreibst "Fragt falls was nicht klar ist" und dann meine Fragen nicht beantwortest.
  Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2011 17:30 von Vault_11.
  Hmm vielleicht daran gedacht das ich ein Mensch und kein Bot bin ich sag nur: Real Life.
  Außerdem gibt es noch PM und in letzter Zeit bin ich so beschäftigt das ich weniger am PC hock. Aber Danke für die Worte. Also die Header Dateien müssen in den Order in der die main.c und das Makefile liegt, das makefile musst du auch anpassen falls das noch nicht geschehen ist. Siehe oben.
  Vault_11 (Sep-5-2011)
  Ja Sorry, aber wenn ich sehe das manche User online sind und anscheinend einfach zu faul sind mir zu helfen dann hab ich auch keinen Bock auf das Forum hier, ich meine für was ist man dann hier. Ist jetzt nicht auf dich bezogen.
  Also ich habe das was du sagt bereits ausprobiert und es kommt immernoch folgender Fehlercode
  1>C:/pspsdk/psp/sdk/include/stdio.h (29) : error: static declaration of 'close' follows non-static declaration
  1>c:/pspsdk/lib/gcc/../../psp/include/sys/unistd.h (29) : error: previous declaration of 'close' was here
  1>C:/pspsdk/psp/sdk/include/stdio.h (30) : error: static declaration of 'read' follows non-static declaration
  1>c:/pspsdk/lib/gcc/../../psp/include/sys/unistd.h (130) : error: previous declaration of 'read' was here
  1>C:/pspsdk/psp/sdk/include/stdio.h (31) : error: static declaration of 'write' follows non-static declaration
  1>c:/pspsdk/lib/gcc/../../psp/include/sys/unistd.h (175) : error: previous declaration of 'write' was here
  1>C:/pspsdk/psp/sdk/include/stdio.h (32) : error: static declaration of 'lseek' follows non-static declaration
  1>c:/pspsdk/lib/gcc/../../psp/include/sys/unistd.h (113) : error: previous declaration of 'lseek' was here
  1>C:\pspsdk\bin\make: *** [main.o] Error 1
  05.09.2011 18:54
  Hmm weis ich jetzt gerade net weiter hab aber auch keine Zeit muss kurz weg. Aber installier mal ein anderes SDK Download Link find ich gerade nicht.
  Bei mir geht nämlich alles.
  Ach ja ich lass meinen Laptop immer an deswegen bin ich eigentlich ziemlich lange Online bis ich ihn halt aus mach.