Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » KeyUp und KeyDown

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.09.2006, 20:15 Uhr
Marco Griep



Hallo,

Ich Programmiere gerade ein 2D Spiel.
Habe soweit alles fertig, das einzige was
noch nicht ganz funktioniert ist das
das Hauptmenü.

Ich habe 4 Buttons, und eine variable (selecter)
welche hilft, das der zur zeit ausgewählte
Button rot-grün blinkt. das Blinken funktioniert schon,
aber leider nur auf einem der 4 Buttons, deshalb habe ich
einen KeyUp und einen KeyDown Event geschrieben,
bei dem sich der "selecter" steigert/vermindert.
bei dem wert 1 soll Button 1 (newgme) blinken,
bei 2 soll button 2 (hgsbtn) blinken,
bei 3 - button 3 (optbtn)
und bei 4 (endgme).

Leider blinkt jetzt trotzdem immer nur button 1.
Habe hier mal den wichtigen teil von meiner
Syntax für euch. Vll kann mir jemand sagen an was
das liegt.

javascript:insert_tag('
Code:
','
',1)

Code:
        private void blink_menue_Tick(object sender, EventArgs e)
        {
            select_menue.Interval = 500;
            if (selecter == 1)
            {
                hgsbtn.BackColor = Color.LightGreen;
                optbtn.BackColor = Color.LightGreen;
                endgme.BackColor = Color.LightGreen;
                newgme.Select();
                if (trueer == false)
                {
                    newgme.BackColor = Color.Red;
                    trueer = true;
                }
                else
                {
                    newgme.BackColor = Color.LightGreen;
                    trueer = false;
                }

            }
            if (selecter == 2)
            {
                newgme.BackColor = Color.LightGreen;
                optbtn.BackColor = Color.LightGreen;
                endgme.BackColor = Color.LightGreen;
                hgsbtn.Select();
                if (trueer == false)
                {
                    hgsbtn.BackColor = Color.Red;
                    trueer = true;
                }
                else
                {
                    hgsbtn.BackColor = Color.LightGreen;
                    trueer = false;
                }
            }
            if (selecter == 3)
            {
                newgme.BackColor = Color.LightGreen;
                hgsbtn.BackColor = Color.LightGreen;
                endgme.BackColor = Color.LightGreen;
                optbtn.Select();
                if (trueer == false)
                {
                    optbtn.BackColor = Color.Red;
                    trueer = true;
                }
                else
                {
                    optbtn.BackColor = Color.LightGreen;
                    trueer = false;
                }
            }
            if (selecter == 4)
            {
                newgme.BackColor = Color.LightGreen;
                optbtn.BackColor = Color.LightGreen;
                hgsbtn.BackColor = Color.LightGreen;
                endgme.Select();
                if (trueer == false)
                {
                    endgme.BackColor = Color.Red;
                    trueer = true;
                }
                else
                {
                    endgme.BackColor = Color.LightGreen;
                    trueer = false;
                }
            }
            else
            {

            }
        }
        private void KeyUp_ev(object sender, EventArgs e)
        {
            if (selecter-- <= 0)
            {
                selecter = 4;
            }
            else
            {

            }
        }
        private void KeyDown_ev(object sender, EventArgs e)
        {
            if (selecter++ >= 5)
            {
                selecter = 1;
            }
            else
            {

            }
        }



Vielen Dank im Vorraus.
Hoffe jemand kann mir helfen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.09.2006, 10:16 Uhr
Th



Welchen Sinn macht es, wenn du im KeyDown die Variable "selecter" erniedrigst und dann bei KeyUp wieder erhöhst? Du solltest im KeyDown zwei verschiedene Tasten dafür wählen.

Außerdem solltest du für die Tick-Routine ein Array für die Buttons benutzen, ist dann einfacher zu programmieren, anstatt dieses "dämliche" C&P.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: