» »

C# premikanje objekta istočasno

C# premikanje objekta istočasno

Miko55 ::

Delam ping pong igrico. Uspelo mi je narediti da ko sta tipki za premikanje pritisnjeni se oba objekta premikata, problem nastane ko en izmed igralcev tipko samo klikne-je ne drži, potem se drugemu igralcu plošček tudi ustavi čeprav še vedno drži tipko za premikanje.

Koda:
public void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            Keys up1 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_gor1.Text , true);
            Keys down1 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_dol1.Text , true);

            Keys up2 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_gor2.Text, true);
            Keys down2 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_dol2.Text, true);

            if (e.KeyCode == Keys.Escape)
                Application.Exit();

            if(e.KeyCode == up1)
            {
                goup1 = true;
            }
            if (e.KeyCode == down1)
            {
                godown1 = true;
            }
            if (e.KeyCode == up2)
            {
                goup2 = true;
            }
            if (e.KeyCode == down2)
            {
                godown2 = true;
            }
            igra1();
        }

private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            Keys up1 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_gor1.Text, true);
            Keys down1 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_dol1.Text, true);

            Keys up2 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_gor2.Text, true);
            Keys down2 = (Keys)Enum.Parse(typeof(Keys), form1.p5_text_kontrole_dol2.Text, true);

            if (e.KeyCode == up1)
            {
                goup1 = false;
            }
            if (e.KeyCode == down1)
            {
                godown1 = false;
            }

            if (e.KeyCode == up2)
            {
                goup2 = false;
            }
            if (e.KeyCode == down2)
            {
                godown2 = false;
            }
            igra1();
        }

public void igra1()
        {
            if (goup1)
            {
                if (form1.p6_ploscek1.Top > form1.panel6_pongIgra.Top)
                    form1.p6_ploscek1.Top -= 15;
            }
            if (goup2)
            {
                if (form1.p6_ploscek2.Top > form1.panel6_pongIgra.Top)
                    form1.p6_ploscek2.Top -= 15;
            }
            if (godown1)
            {
                if (form1.p6_ploscek1.Bottom < form1.panel6_pongIgra.Bottom)
                    form1.p6_ploscek1.Top += 15;
            }
            if (godown2)
            {
                if (form1.p6_ploscek2.Bottom < form1.panel6_pongIgra.Bottom)
                    form1.p6_ploscek2.Top += 15;
            }
        }


Nekaj sem poizkušal z keypress in keyboard.iskeydown vendar brez uspeha.

Miko55 ::

Urejeno z timeron :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Java script -> Navigacija s smernimi tipkami

Oddelek: Programiranje
12882 (634) tadejp81
»

Jquery scrollable menu keyboard navigacija

Oddelek: Izdelava spletišč
5717 (604) Binji
»

[c#]izvajanje kode

Oddelek: Programiranje
131079 (813) LeQuack
»

Javascript - izračun razlike v datumih

Oddelek: Programiranje
81906 (1761) kogledom
»

C# - keypress

Oddelek: Programiranje
201624 (1355) urkrajnc

Več podobnih tem