Avatar billede spademand Nybegynder
17. april 2007 - 14:15 Der er 2 kommentarer og
1 løsning

Nybegynder spil program "Keys"

Hej jeg er på 2 semester som datamatiker og er derfor nok lidt nybegynder.
Men jeg har et lille problem med et spil jeg er igang med at lave

I windows når man feks holder "a" inde går der et lille æjeblik inden den begynder at skrive en masse a'er. Det problem har jeg også i mit lille rumspil hvor jeg holder "Keys.up" inde og så går der også et øjeblik inden de reagerer.

Man kan selvfølgelig ændre det under keyboard indstillinger i windows men burde der ikke være en nemmere måde ? eller en anden løsning ?

her er min kode som bliver kørt når Keydown bliver aktiveret på events på min form

er der iøvrigt også en måde man kan få to keys til at blive aktiveret på samme tid. Feks keys.up og keys.right?

        public void retning(Object sender,KeyEventArgs e)
        {
            if (dod == false)
            {
                timer1.Start();

                switch (e.KeyData)
                {
                    case Keys.Up:
                        {
                            pictureBox1.Image = rumskib[1];
                            if (farty > -20 && benzin > 0)
                                farty--;
                            benzin--;
                            break;
                        }
                    case Keys.Down:
                        {
                            pictureBox1.Image = rumskib[0];
                            if (farty < -5 && benzin > 0)
                                farty++;
                            break;
                        }
                    case Keys.Left:
                        {
                            pictureBox1.Image = rumskib[2];
                            if (fartx > -20 && benzin > 0)
                                fartx--;
                            benzin--;
                            break;
                        }
                    case Keys.Right:
                        {
                            pictureBox1.Image = rumskib[3];
                            if (fartx < 20 && benzin > 0)
                                fartx++;
                            benzin--;
                            break;
                        }

                }
            }
        }

På forhånd tak for hjælpen
Avatar billede anri Novice
17. april 2007 - 15:09 #1
For at få ordentlig response, skal du omgå den keyboard-handler der er indvygget i windows.

Du bør kigge på DirectInput delen af DirectX, jeg mener der er eksempler med hvis du downloader SDK'en.
Avatar billede bulgroz Nybegynder
17. april 2007 - 15:39 #2
Eller kigge lidt på denne tråd...
http://www.eksperten.dk/spm/759682
Avatar billede spademand Nybegynder
26. oktober 2014 - 10:50 #3
OK !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester