Autor Beitrag
Beni92
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 30.04.09 14:29 
Ich bin gerade dabei ein snake spiel zu programmieren und bin eigentlich schon fast fertig ich habe nur ein problem:

Ich habe eine image list in der es zwei verschieden bilder gibt(den kopf und den körper) das bild vom körper kommt so oft vor wie lang gerade die schlange ist. Wenn ich jetz um eine ecke fahre und ich will das sich ein teil dreht, drehen sich alle restlichen körper teile mit. Bei dem Kopf funtzt es, daher das bild nur einemal in der image list vorhanden ist.

ich danke euch im voraus für eine schnelle antwort
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 30.04.09 15:05 
:welcome:

Du darfst natürlich nicht das Bild in der Liste drehen, sondern musst während des Zeichnens auf die Form/ImageBox/... erledigen. Je nachdem, mit welchem Code du bisher zeichnest und drehst, könnte das so oder so aussehen ;) .
Im Notfall könntest du auch das Bild temporär in ein neues Bitmap kopieren und dort dann drehen, sollte aber auch direkt funktionieren.

_________________
>λ=
Beni92 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 30.04.09 15:25 
so in etwa?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
if (haha > 0)
{
   Image bild = schräg[haha];

   bild.RotateFlip(RotateFlipType.Rotate270FlipNone);

   schräg.RemoveAt(haha);
   schräg.Insert(haha, bild);
}


schräg ist die image list. im index 0 ist der kopf, haha ist die position in der image list in welcher sich das bild drehen soll.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 30.04.09 15:49 
user profile iconBeni92 hat folgendes geschrieben Zum zitierten Posting springen:
schräg ist die image list.
Äh... gut zu wissen ;) .

Wie zeichnest du denn nun? Eine Kopie legst du jedenfalls über den Bitmap-Konstruktor, der ein Image entgegennimmt, an. Und das Remove/Insert brauchst du nicht, du willst doch schließlich das Original behalten.

_________________
>λ=
Beni92 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 30.04.09 16:04 
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
private void Form1_Paint(object sender, PaintEventArgs e)
{
  for (int i = 0; i < schlangenpos.Count; i++)
  {
    Point p = schlangenpos[i];
                
                
    e.Graphics.DrawImage(schräg[i], p.X, p.Y);
                

                
  }
  e.Graphics.DrawImage(schaf, x, y);

}


schaf ist das opfer also zu ignoriren

schlangenpos sind die punkte der schlange in einer point list
Beni92 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 30.04.09 17:01 
danke habe das proble gelöst

das mit dem bitmap konstruktor hat funktioniert