360Boarder
Registered +
- Registriert
- Jan. 2007
- Beiträge
- 166
Hi Leute.
Ich programmiere gerade an einem Spiel. Das kennen sicher einige von euch,... man hat ein Spielfeld (8x8 Pictureboxen). In jeder PictureBox ist ein Bild von einem Rohr... Ziel des Spiels ist es, die Rohre (also die Pictureboxen) so zu drehen das sie zusammenpassen, also damit am Schluss ein langes Rohr rauskommt durch das irgend eine Flüssigkeit fließen kann...
Das mit dem Drehen der Bilder in der Picturebox habe ich mit Klickevents und "Image.RotateFlip" gelöst... hier der Code
picbox_felder[] ist ein Array von Pictureboxen und geht bis 63, weil ich 63 Spielfelder habe...
Nur gibt es dabei ein Problem... manchmal wird das Bild nicht gedreht wenn man draufklickt, obwohl er in die Methode "drehe_rohr()" reingeht.... Console.WriteLine("Right") bzw Console.WriteLine("Left") wird immer ausgeführt...
Weis jemand woran das liegt??
lg.Boarder
Ich programmiere gerade an einem Spiel. Das kennen sicher einige von euch,... man hat ein Spielfeld (8x8 Pictureboxen). In jeder PictureBox ist ein Bild von einem Rohr... Ziel des Spiels ist es, die Rohre (also die Pictureboxen) so zu drehen das sie zusammenpassen, also damit am Schluss ein langes Rohr rauskommt durch das irgend eine Flüssigkeit fließen kann...
Das mit dem Drehen der Bilder in der Picturebox habe ich mit Klickevents und "Image.RotateFlip" gelöst... hier der Code
picbox_felder[] ist ein Array von Pictureboxen und geht bis 63, weil ich 63 Spielfelder habe...
Code:
//Methode - Dreht das Rohr bei Linksklick nach link, bzw. bei Rechtsklick nach Rechts
public void drehe_rohr(int feld, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
picbox_felder[feld].Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
picbox_felder[feld].Refresh();
Console.WriteLine("Left");
}
else if (e.Button == MouseButtons.Right)
{
picbox_felder[feld].Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
picbox_felder[feld].Refresh();
Console.WriteLine("Right");
}
}
//Klickevent der ersten Picurebox (also des ersten Spielfeldes)
private void feld_1_MouseDown(object sender, MouseEventArgs e)
{
drehe_rohr(0, e);
}
Nur gibt es dabei ein Problem... manchmal wird das Bild nicht gedreht wenn man draufklickt, obwohl er in die Methode "drehe_rohr()" reingeht.... Console.WriteLine("Right") bzw Console.WriteLine("Left") wird immer ausgeführt...
Weis jemand woran das liegt??
lg.Boarder
Zuletzt bearbeitet von einem Moderator:
)