Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
05.05.2002, 21:06
King2500



HI all

kann mir ma jemand helfen, der sich mit obengenannten Klassen etwas auskennt?

Ich programmiere zur Zeit einen Button mit Zahlenfeld (VGUI Menü).

Nun habe ich meine neue Klasse (CKeylockButton) von der CBaseButton klasse abgeleitet mit 3 neuen (überschriebenen) Funktionen: Spawn(), KeyValue() und TriggerAndWait()

soweit so gut...

Die CBasePlayer Klasse enthält bei mir eine Methode ShowVGUIMenu mit der sich VGUI Menüs anzeigen lassen (funktioniert einwandfrei).

die CBaseButton Klasse (siehe buttons.cpp) - und damit auch meine CKeylockButton-Klasse - enthält eine Variable m_hActivator vom Typ EHANDLE. Ihr wird in CBaseButton::ButtonUse() die Variable pActivator (vom Typ/Klasse CBaseEntity) zugewiesen. pActivator ist der jenige, der den Button drückt.

Nun möchte ich in meiner TriggerAndWait() Funktion das VGUI Menü anzeigen lassen (sprich: wenn der button gedrückt und fertig getriggert wurde).

aller dings kann ich mit m_hActivator nicht die ShowVGUIMenu Methode aufrufen (m_hActivator->ShowVGUIMenu):

error C2039: 'ShowVGUIMenu' : Ist kein Element von 'CBaseEntity'
(is ja logisch! ShowVGUIMenu is Element der CBasePlayer Klasse und macht auch nur bei einem "Player" Sinn!!)

Ich hab auch schon probiert, eine 2. Variable neben m_hActivator, nämlich m_hActivator2, vom Typ CBasePlayer anzulegen. Allerdings kann ich dann in ButtonUse m_hActivator2 nicht pActivator zuweisen, da dies von CBaseEntity is.

Kann mir jemand weiter helfen? TinySteini? da_EXE? Another1? oder sonst wer? DANKE!!!

Ich hoffe das war jetzt nicht zu verwirrend. Evtl. an king2500@web.de oder per ICQ unter 66749182 melden.

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche
001
05.05.2002, 21:17
Hanky



evt eine variable auf die CKeylockButton anlegen( CKeylockButton *var...) und dann aufrufen?

edit:muss zugeben nit alles 100% verstanden zu haben

--

hankYs Page


Dieser Beitrag wurde am 05.05.2002 um 21:17 von Hanky bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
05.05.2002, 21:19
King2500



Es geht um ein Funktionsaufruf innerhalb der CKeylockButton Klasse.

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche
003
05.05.2002, 21:20
Rockefeller



Da hilft dir nur ein type-cast.
Quellcode:
((CBasePlayer *)((CBaseEntity *)m_hActivator))->ShowVGUIMenu();

BTW: Da HL intensiv mit Klassen arbeitet, solltest du dich, bevor du mit dem HLSDK arbeitest, gut in die OOP einarbeiten.

--

zum Seitenanfang zum Seitenende Profil || Suche
004
05.05.2002, 21:21
Hanky



ja, das meinte ich .... :P

--

hankYs Page

zum Seitenanfang zum Seitenende Profil || Suche
005
05.05.2002, 21:24
King2500



hab zwar schon 2 books und zig tuts durchgemacht, werde mir aber demnächst ein reines OOP book kaufen.

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche
006
05.05.2002, 21:26
King2500



Fehler:

error C2027: Verwendung des undefinierten Typs "CBasePlayer"

hab ich irgend nen Header vergessen?

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche
007
05.05.2002, 21:27
Rockefeller



Jedes vernünftige C++ Buch sollte eigentlich die OOP intensiv behandeln...

--

zum Seitenanfang zum Seitenende Profil || Suche
008
05.05.2002, 21:29
King2500



tun sie auch ;)

aber was is nu mit mein fehler (siehe oben)?

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche
009
05.05.2002, 21:32
[RMen]OneStone



Hast du
#include "player.h"
?

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
010
05.05.2002, 21:33
King2500



juhu!!! danke!

hätt ich selber drauf kommen müssen...

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche