Sie befinden sich aktuell in den PSP Spieleentwicklung Blog-Archiven für den folgenden Tag 25.11.2009.
- Allgemein (6)
- Einfache 3D Welten (3)
- Erste Schritte (3)
- GU (4)
- Komplexe 3D Welten (1)
- 26.1.2011: Der Blog zieht um
- 23.3.2010: Der Anstrich - aber mit Plan
- 4.3.2010: 3D Landschaft - optimiert
- 17.2.2010: Landschaft 3D mit GU
- 28.1.2010: Ein Dreieck - GU Test
- 20.1.2010: Homebrew - 3D
- 12.1.2010: GU - und nu ?
- 11.1.2010: Neustart...
- 7.1.2010: Bildschirm aufräumen
- 5.1.2010: Schwarz/Weiß war gestern
PSP Allgemein
PSP Entwicklung
Archive für 25.11.2009
Homebrew Strukturieren
25.11.2009 von AnMaBaGiMa.
Bevor ich nun aus meinem kleinen “Hallo Welt!” Programm eine kleine Anwendung stricke, ist es sinnvoll sich ein paar Gedanken zur allgemeinen Struktur der Entwicklung zu machen.
Klar ist es möglich alles irgendwie in die Haupt-Source-Code datei zupacken und ebenso kann man alles in einzelen Source Code dateien auslagern. Als Freund der Objektorientierten programmierung
Ein Homebrew Basisklasse
Im ersten Schritt wird eine einfache Homebrew-Basisklasse erstellt, welche die in jedem Homebrew immer wieder auftauchenden Grundfunktionnen bereitstellt un initialisiert. Jede Applikation kann diese Klasse dann erben und entsprechend spezialisieren.
Das Header-File dieser ersten Applikationsklasse sieht dann so aus:
/*
* Homebrew.h
*/
#ifndef HOMEBREW_H_
#define HOMEBREW_H_
class ClHomebrew {
public:
/*
* Initialisierung des Homebrews
*/
bool init();
/*
* Homebrew ausführen bis “HOME” Taste + Beenden
*/
void run();
/*
* Homebrew soll beendet werden, ggfl. speicher freigeben
*/
virtual void exit();
/*
* Destructor
*/
virtual ~clHomebrew();
protected:
/**
* die Klasse kann nicht direkt instanziiert werden -> singleton
* Konstrukor ist protected
*/
ClHomebrew();
virtual void mainthread();
};
#endif /* HOMEBREW_H_ */
Die Implementierung zu dieser Klasse sieht dann wie folgt aus. Hier finden wir einige Elemente aus unserem ersten Homebrew wieder.
/*
* homebrew.cpp
*
* Diese Klasse ist die Basisklasse für jede Art von Homebrew Entwicklung
*/
#include “homebrew.h”
extern “C” {
#include <pspdebug.h>
#include “callbacks.h”
}
void ClHomebrew::run()
{
// die Hauptschleife
while(running()){
/*
* so lange die Applikation nicht über die HOME-Taste
* beendet wurde diese Ausführen
*/
mainthread();
}
}
/**
* Initializierung der Homebrew - Callbacks etc.
*/
bool ClHomebrew::init(){
//Init des DebugScreens für Textausgabe
pspDebugScreenInit();
setupCallbacks();
return true;
}
void ClHomebrew::exit(){
}
/**
* Leerer Hauptthread/Programmablauf. Muss von der
* Ableitenden Klasse implementiert werden
*/
void clHomebrew::mainthread(){
}
clHomebrew::clHomebrew() {
}
clHomebrew::~clHomebrew() {
}
Die zweite Homebrew
Mit diesen Grundlagen können wir nun unsere zweite Homebrew schreiben die auf dieser Basisklasse aufsetzt.
Schritt 1: Zunächst legen wir eine “HalloWelt” Klasse als Ableitung der Basisklasse and und implementieren den “Mainthread”.
Schritt 2:Danach bauen wir die “main.cpp” entsprechend um und in
Schritt 3:Müssen wir noch das Makefile anpassen um unsere Applikation durch den Compiler zu bekommen
Von diesen Schritten beim nächsten mal mehr…..
Geschrieben in Erste Schritte | Drucken | Keine Kommentare »