GameWindow

GameWindow repräsentiert das Spielfenster eine Spielanwendung. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SWindow
SFrameWindow
GameWindow  

Attribute

public:

Attribut Typ Beschreibung
startDialog StartDialog*
statusHeight int

protected:

Attribut Typ Beschreibung
title SString

Operationen

public:

Name Parameter Rückgabewert Beschreibung
onGetStartDlgText SString Liefert den Starttext für den StartDialog.
onShowStartDlg void Fordert das GameWindow auf den StartDialog anzuzeigen.

protected:

Name Parameter Rückgabewert Beschreibung
onGameInit void Wird vor dem ersten triggern der Spielelemente ausgelöst.
onGameOver bool win void Tritt ein, wenn eine Endbedingung für das Spiel vor liegt.
onInitWindow void Wird vor dem ersten Darstellen (WM_SHOWWINDOW) ausgelöst.
onKeyDown WORD ascii,
char scan,
int vkeyCode,
BOOL first
BOOL Wird beim drücken oder wiederholen (wegen langen halten) einer Taste aufgerufen.
onLButtonDown WORD keys,
int xpos,
int ypos
void Behandlungsroutine für das Drücken der linken Maustaste.
onMouseMove WORD keys, int x, int y void Wird ausgelöst, wenn die Maus über den Clientbereich bewegt wird.
onPaint SDevice& screen void Behandlungsroutine für das Neuzeichnen des Fensters.
onPaintStatus SDevice& screen void Behandlungsroutine für das Neuzeichnen der Statuszeile
onPreCreateWindow void Hier sollten die letzten Einstellung vor der Erzeugung des Fensters vorgenommen werden, wie z.B. Fenstertitel und Anfangsgröße.
onShow void Wird afgerufen wenn das Fenster geöffnet wird (WM_SHOW).
onTimer DWORD curTime void Tritt alle 1/100 Sekunden ein.

Detailbeschreibung GameWindow

GameWindow repräsentiert das Spielfenster eine Spielanwendung.


In diesem Fenster(View) werden alle GameElemnete(Model) die von der Klasse Game(Controller) verwaltete werden dargestellt.
Es verfügt über eine Fußzeile mit Statusinformationen und einem Spielbereich.

Funktionsbeschreibungen

onGameInit() void

Wird vor dem ersten triggern der Spielelemente ausgelöst.

onGameOver(bool win) void

Tritt ein, wenn eine Endbedingung für das Spiel vor liegt.

onGetStartDlgText() SString

Liefert den Starttext für den StartDialog.

Rückgabe:

SString SString text

onInitWindow() void

Wird vor dem ersten Darstellen (WM_SHOWWINDOW) ausgelöst.

onKeyDown(WORD ascii, char scan, int vkeyCode, BOOL first) BOOL

Wird beim drücken oder wiederholen (wegen langen halten) einer Taste aufgerufen.

So können mehrfach onKeyDown(..) folgen bis ein onKeyUp(..) erfolgt.

Beispiel: Bsp:

BOOL isControl=GetKeyState(VK_CONTROL) & 0x80;
BOOL isShift=GetKeyState(VK_SHIFT) & 0x80;
//////// Taste Strg+F9 ////////
if(vkeyCode==VK_F9 && isControl)
{
  ......
}

Parameter:

ascii ASCII-Code der Taste, wenn verfügbar
scan SCAN-Code der Taste, wenn verfügbar
vkeyCode virtual KeyCode, z.B. VK_ESC, VK_TAB, VK_1
first true, wenn die Taste erstmals gedrückt wird

Rückgabe:

BOOL true wenn bea

onLButtonDown(WORD keys, int xpos, int ypos) void

Behandlungsroutine für das Drücken der linken Maustaste.

Parameter:

onMouseMove(WORD keys, int x, int y) void

Wird ausgelöst, wenn die Maus über den Clientbereich bewegt wird.

Parameter:

x Client-X-Koordinate des Ereignisses
y Client-Y-Koordinate des Ereignisses
keys Tastenstatus
  • MK_CONTROL Die Steuerungstaste ist gedrückt
  • MK_LBUTTON Die linke Maustaste ist gedrückt
  • MK_MBUTTON Die mittlere Maustaste ist gedrückt
  • MK_RBUTTON Die rechte Maustaste ist gedrückt
  • MK_SHIFT Die Umschalttaste ist gedrückt
  • MK_XBUTTON1 Windows 2000: Der erste Zusatz-Knopf ist gedrückt.
  • MK_XBUTTON2 Windows 2000: Der zweite Zusatz-Knopf ist gedrückt.

onPaint(SDevice& screen) void

Behandlungsroutine für das Neuzeichnen des Fensters.

Parameter:

screen Device auf dem gezeichnet werden soll

onPaintStatus(SDevice& screen) void

Behandlungsroutine für das Neuzeichnen der Statuszeile

Parameter:

screen Device auf dem gezeichnet werden soll

onPreCreateWindow() void

Hier sollten die letzten Einstellung vor der Erzeugung des Fensters vorgenommen werden, wie z.B. Fenstertitel und Anfangsgröße.

Wird in create(..) vor der Erzeugung des Fensters aufgerufen.

Beispiel:

wndStartText="Mein Programm mit SVL";
wndStartRect.width=500;
wndStartRect.height=500;
wndStartRect.left=10;
wndStartRect.top=10;

onShow() void

Wird afgerufen wenn das Fenster geöffnet wird (WM_SHOW).

onShowStartDlg() void

Fordert das GameWindow auf den StartDialog anzuzeigen.

onTimer(DWORD curTime) void

Tritt alle 1/100 Sekunden ein.

Parameter: