Du bist nicht angemeldet.

  • Anmelden
  • Registrieren

Timberland

unregistriert

1

20.05.2004, 11:35

Toggleproblem

Dies ist ein Post aus dem Vip-Bereich und war zuerst nicht als Tutorial gedacht jedoch kann man es nun als solches Ansehen weiter unten steht der Code

Hi, ich bins mal wieder :/.
Ich habe folgendes Problem, ich will mein Crosshair als Toggle (aber nur an und aus) machen.

Quellcode

1
2
3
Timbo51++;
         if(Timbo51 >= 5)
                 Timbo5=true;


Wird das Crosshair immer gemalt.
Habe ich aber:

Quellcode

1
2
3
Timbo51++;
         if((Timbo51 >= 5)&& GetAsyncKeyState(VK_NUMPAD4))
                 Timbo5=true;

Wird es nur gemalt wenn ich die Taste drücke. Weiß einer was ich ändern muss damit es wie ein An-und Ausschalter funktioniert? Es kommen ja auch keinerlei Fehlermeldungen, habe ja auch alles "geboolt" und so.

Ach ja ich habe auch mal das hier versucht:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
if(GetAsyncKeyState(VK_NUMPAD4)& (1==1))
 {
         if(Timbotaste=0)
         {
                 Timbo5=true;
                 Timbotaste++;
         }
         else
         {
                 Timbo5=false;
                 Timbotaste--;
         }
 }


Da wurde es gar nicht dargestellt.
Bin echt ratlos-


P.S. Ich hoffe ich nerve euch nicht zu stark mit meinen Fragen.

NAFEST

Profi

Beiträge: 832

2

20.05.2004, 22:41

Du drückst Dich wieder echt deutsch aus :evil: Was meinste mit gemalt?! Was passiert genau,wenn Du die Taste drückst?!

Timberland

unregistriert

3

21.05.2004, 10:36

Oki doki. Also wenn ich

Quellcode

1
2
3
Timbo51++;
        if(Timbo51 >= 5)
                Timbo5=true;

in glviewport mache, wird mein Crosshair immer angezeigt (mein zusätzliches).
habe ich aber:

Quellcode

1
2
3
Timbo51++;
        if((Timbo51 >= 5)&& GetAsyncKeyState(VK_NUMPAD4))
                Timbo5=true;

in glviewport, wird das zusätzliche Crosshair nur dargestellt (gedrawt, gemalt oder weiß ich wie es jetzt heißt :) ) so lange ich die "4" auf dem Numpad drücke.

Ich will es jetzt aber so schreiben, dass wenn ich auf die "4" drücke, das zusätzliche Crosshair dargestellt (gedrawt, gemalt, eingeblendet) wird und wenn ich nochmals auf die "4" drücke wieder ausgeblendet wird. Hoffe das war jetzt verständlicher.

suxx-

unregistriert

4

21.05.2004, 13:05

ja und ? genau das hast du mit der if abfrage bewirkt ... das wenn num4 gedrückt ist das die if abfrage wahr ist und somit ausgeführt wird. Wenn du hingegen ein Toggle willst muss du in glViewport den GetAsyncKeystat machen also ungefähr so

Quellcode

1
2
3
4
5
6
if((GetAsyncKeyState(VK_NUMPAD4) < 0 ) && Last_Key != VK_NUMPAD4)
{
draw.xhair = !draw.xhair;
Last_Key = VK_NUMPAD4;
}else
Last_Key = 0;


und dann in glEnable

Quellcode

1
2
3
4
if (draw.enable && draw.xhair)
{
DrawCrosshair();
}


nun frag nicht nach den ganzen Variablen ... so hab ich es in alten ogl versionen gemacht inzwischen hab ich einen besseren Weg gefunden.

Timberland

unregistriert

5

21.05.2004, 13:24

Danke suxx, Variablen frag ich schon nicht nach keine Angst.

Leute, ihr könnt stolz auf mich sein. Ich habe eine andere Möglichkeit gefunden, wohoo :D. Zwar nur dank eurer Hilfe aber ich habe sie :D. *Happy*

suxx-

unregistriert

6

06.06.2004, 14:45

so nun erblick auch dieses Tutorial das Licht der Welt :)

Timberland

unregistriert

7

06.06.2004, 16:58

Jetzt kommen ja meine ganzen peinlichen Fragen public :D.

Thema bewerten