Ich kann leider nicht s gut mit klassen umgehen, deswegen habe ich mich nochmal dran gesetzt und gelernt! Ich habe nun versucht ein Gamestate zu machen, leider funktioniert das nicht so wirklich! ersmal die Klassen:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
class CGameState
{
public:
CGameState();
~CGameState();
virtual int Init();
virtual int Exit();
virtual int Render();
};
class CGSIntro : public CGameState
{
public:
CGSIntro();
~CGSIntro();
public:
int Init();
int Exit();
int Render();
};
class CGSMenu : public CGameState
{
public:
CGSMenu();
~CGSMenu();
public:
int Init();
int Exit();
int Render();
};
class CGSGame : public CGameState
{
public:
CGSGame();
~CGSGame();
public:
int Init();
int Exit();
int Render();
};
|
Zu benutzen habe ich mir das dann so vorgestellt:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
CGameState* GS;
GS = new CGSIntro;
GS->Init;
GS->Render;
GS->Exit;
|
Nun sagt der Debugger für Init(), Render() und Exit():
c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\gamex1\gamex1\main.cpp(169) : error C3867: "CGameState::Init": Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie "&CGameState::Init", um einen Zeiger auf den Member zu erstellen.
Müsste doch eigentlich funktionieren!