Forum: Problem med gameloop i C# (nybörjare)

Forum huvudsida -> Programmering -> Problem med gameloop i C# (nybörjare)

Sidor: 1

Till botten

vene 21:36 - 3:e Maj 2007 | Post #1
Medlem
Inlägg: 12


Skicka PM
Tjena!

Jag har ett litet problem med en gameloop i C#, kodat i Visual Express. Problemet är att inget händer när det ska hända.

kod (nej, det är inte java, men det brukar vara lättare att läsa även fast det är färger för fel språk):
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace WindowsApplication1
  11. {
  12. public partial class Form1 : Form
  13. {
  14. int playerposx = 50;
  15. int playerposy = 50;
  16.  
  17. public Form1()
  18. {
  19.  
  20. KeyDown += new KeyEventHandler(Form1_KeyDown);
  21. KeyUp += new KeyEventHandler(Form1_KeyUp);
  22. Paint += new PaintEventHandler(Form1_Paint);
  23. InitializeComponent();
  24. timer1.Start ();
  25. }
  26.  
  27.  
  28.  
  29.  
  30. bool[] knappar = new bool[255];
  31.  
  32. void Form1_KeyDown(object sender, KeyEventArgs e)
  33. {
  34. knappar[(int)e.KeyCode] = true;
  35. }
  36.  
  37.  
  38. void Form1_KeyUp(object sender, KeyEventArgs e)
  39. {
  40. knappar[(int)e.KeyCode] = false;
  41. }
  42.  
  43.  
  44. void gamelooptimer_tick()
  45. {
  46. while (knappar[(int)Keys.Up] == true)
  47. {
  48.  
  49. playerposy = playerposy - 2;
  50. }
  51. }
  52.  
  53.  
  54. void Form1_Paint(object sender, PaintEventArgs e)
  55. {
  56. Graphics player = e.Graphics;
  57. player.FillEllipse(Brushes.Lime, new Rectangle(playerposx, playerposy, 50, 50));
  58. }
  59.  
  60. private void timer1_Tick(object sender, EventArgs e)
  61. {
  62.  
  63. Refresh();
  64. }
  65. }
  66. }

Ni får ha överseende med min okunnighet. Jag har försökt få ihop detta mha steg-för-steg-guider från internet (typ).

-------------------------
http://www.kvarnstugan.org
"Tänk på lösningen inte problemet." -Terry Goodkind (Sanningens svärd)
Bli en vampyr du med!



FunkyChicken 22:18 - 3:e Maj 2007 | Post #2
Nyhetsredaktör
Inlägg: 800


Skicka PM
Vad förväntar du dig ska hända?
Du kör ju aldrig gamelooptimer_tick()?
Inte verkar den vara kopplad till en timer heller, även om den ser ut att vara namngiven för det.Smiley




Belsebubben 22:41 - 3:e Maj 2007 | Post #3
Medlem
Inlägg: 76


Skicka PM
det är inte hela koden tyvärr

Det skulle hjälpa om du skickade alla dina kod-filer (inklusive de som genererats i designern) så att vi kan se vad programmet gör.

Tyvärr så kan jag inte direkt se om något är fel (Har aldrig skrivit GDI+)

-------------------------
Das Blinkencomp, jag väljer dig!



vene 14:41 - 4:e Maj 2007 | Post #4
Medlem
Inlägg: 12


Skicka PM
Jag ska ta en närmare titt på "projektet" (det var ett tag sen jag (läs: visual express) skrev koden) senare, hinner inte nu. Ska dra med alla filer senare. Tack för svaren, btw.
EDIT: Hmm.. det där med att jag aldrig kör gamelooptimer_tick()... (Nu kommer en pinsam fråga:) Hur ska jag göra det?
,,hh, jag får ta och läsa några från-grunden-guider så jag lär mig på riktigt.Smiley

-------------------------
http://www.kvarnstugan.org
"Tänk på lösningen inte problemet." -Terry Goodkind (Sanningens svärd)
Bli en vampyr du med!

Senast redigerad 14:44 - 4:e Maj 2007


Belsebubben 15:59 - 4:e Maj 2007 | Post #5
Medlem
Inlägg: 76


Skicka PM
Kolla in SDL.net det är riktigt trevligt.

Har lite tutorials också, men API:et är ganska trevligt

http://cs-sdl.sourceforge.net/index.php/Main_Page

-------------------------
Das Blinkencomp, jag väljer dig!



Sidor: 1

Forum huvudsida -> Programmering -> Problem med gameloop i C# (nybörjare)
Atom feed

Du får inte posta i den här tråden | Till toppen